Не ожидал такой чисто “быдляцкой” выходки… странно.
Остроумные задачи в математике или физике, остроумные примеры программ делаются с той же целью, с которой пишут стихи: для удовольствия.
Зачем стихи? Зачем искать слова так, чтобы ритм ударений повторялся и окончания слов были похожи? Нафига это нужно, если можно сказать всё тоже самое не вы…бываясь?
Удовольствие от хитрого кода, от квайна или от удачного алгоритма - ровно тоже самое, что от умения жонглировать, или изучения редкого языка - просто удовольствие от разминки тела или мозга. Именно “Смотри, как я могу!” - это самый важный мотиватор. Даже зритель, как таковой, не всегда нужен, можно показать самому себе и Б..гу.
Как-то так, сорри.
(Немного занудно будет. Андриано должно понравится!)
Нет, это не так. Преимущество это выполнение в нарушение порядка чтения. Например в выражении 3 + 5 * 2 сперва читаем сложение, а выполняем умножение. Так вот все операторы, кроме возведения в степень, левоассоциативны. a * b * c = (a*b)*c. Из тех, что есть в Си, только присваивание и тернарный правоассоциативны. То есть выполняются в нарушении порядка чтения. Так что шутка, которую ты привел, не совсем верна, хоть и известна.
надо делать так что бы не фига не поняли!))) и не говорить что и как… я попробую, спс)))
только если программа .exe и получают код на ассемблере, они могут украсть функцию, и вот от этого и нужна защита)))
Туда и не то можно воткнуть. Всё дел в том, какой в этом смысл? Вот, в шикарном примере «Duff’s device» всё втыкалось со смыслом* - это действительно кратчайшая и самая эффективная запись этого алгоритма. Изучите!
А вообще, приятно видеть человека, которого впечатляют такие вещи! Это же, блин, поэзия! Не каждый её чувствует (как и обычную поэзию, кстати).
А вот сейчас не понял. В чём именно Вам нужна помощь?
* Это к бессмертному призыву “Иваси”: “И водку бессмысленно больше не жрать, а жрать её только с особенным смыслом!”
Сарьказьм енто был на вечную тему о призыве на помошь при неудавшейся компиляции от новичков. Шутка такскть. Но “лагадобря”(Масяня) неудачливому стечению обстоятельств, прям как одновременный выход фильмов по осени,(разбор полётов в теме ИИ и последующей грызнёй чипындейла и графа) зацепило и остальных
Сделайте отдельный файлик, с расширением .c, поместите в него этот код, сам файлик положите рядом с .ino файлом. Тогда среда Ардуино должна все это схавать:
.ino:
#include <Arduino.h>
#include <stdio.h>
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
}
extern "C" void hello_cruel_world();
void loop() {
// put your main code here, to run repeatedly:
hello_cruel_world();
}
.c:
#include <stdio.h>
typedef int BASIC[];
void hello_cruel_world() {
if ((BASIC) {
[20] puts("cruel"),
[30] puts("world"),
[10] puts("hello"),
});
}
Работает и компилируется в Arduino IDE. (ESP32, если что)
Потому что GCC — это не просто стандартный компилятор Си, а компилятор языка GNU C, который расширяет стандарт специально для удобства программистов и совместимости с ядром Linux.
Эти вольности позволяют писать более компактный и гибкий код (особенно в макросах и системном программировании), поэтому разработчики GCC их и добавили — даже ценой того, что такой код не будет работать в других компиляторах или в C++.
а в компиляторе C++ эти фичи если и есть могут делать что то другое…
короткая справка от ии, продолжаю вести наблюдение)))