+1004
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
// shit.h :
#if END_SHIT == 0
bagor++;
#if BIT0 == 0
#undef BIT0
#define BIT0 1
#else
#undef BIT0
#define BIT0 0
#if BIT1 == 0
#undef BIT1
#define BIT1 1
#else
#undef BIT1
#define BIT1 0
#if BIT2 == 0
#undef BIT2
#define BIT2 1
#else
#undef BIT0
#undef BIT1
#undef BIT2
#define END_SHIT 1
#endif
#endif
#endif
#include "shit.h"
#endif
//shit.c
#include <stdio.h>
int main(void) {
int bagor = 0;
#define BIT0 0
#define BIT1 0
#define BIT2 0
#include "shit.h"
printf("bagor = %i\n", bagor);
return 0;
}
http://govnokod.ru/20947#comment348047
CHayT 3 часа назад # 0
> нет ни циклов, ни рекурсий
Можно, думаю, файлы сами в себя инклудить, чем не рекурсия. Не очень понятно, что с этим делать, правда.
-----
Но ведь совершенно очевидно, что с этим можно делать. Очередной шедевр макроговна
Запостил: j123123,
25 Августа 2016
SladkiyBagorchik 25.08.2016 06:58 # +82
j123123 25.08.2016 07:00 # +82
SladkiyBagorchik 25.08.2016 07:02 # +90
SladkiyBagorchik 25.08.2016 07:03 # +90
3.14159265 25.08.2016 14:59 # +111
Надо факториал накорябать. А программу конфигурировать флагами препроцессора, на этапе конпеляции.
SladkiyBagorchik 25.08.2016 16:02 # +93
Dummy00001 25.08.2016 16:35 # +100
а если это еще попробовать c boost PP скомбинировать.
PS гцц:
j123123 25.08.2016 20:04 # +120
Да, подкинь им эту идею, чтобы они подобным макроговном пробили очередное дно
roman-kashitsyn 25.08.2016 20:23 # +107
SexyGayBear 25.08.2016 20:30 # +92
j123123 25.08.2016 20:32 # +107
Эмм, и как этим сделать конечное число повторов чего-либо?
dxd 25.08.2016 22:36 # +104
j123123 25.08.2016 22:46 # +107
Инклудить файл сам в себя в бесконечном цикле и прибивать препроцессор по таймауту для генерации исходников? Сурово! Надо только на этапе компиляции еще узнать модель и частоту процессора, чтоб в нужное время прибить, а то еще чего лишнего нагеренирует, или недогенерирует.
>Или генерация бесконечных исходников - безумно ценная фича, как гомоиконы?
Приведенный мной говнокод генерирует как раз конечный исходник
dxd 25.08.2016 22:48 # +111
guesto 25.08.2016 16:52 # +87
SladkiyBagorchik 25.08.2016 17:06 # +86
SexyGayBear 25.08.2016 17:17 # +82
gost 25.08.2016 22:37 # +104
j123123 26.08.2016 03:47 # +90
guesto 26.08.2016 03:56 # +91
j123123 26.08.2016 04:22 # +91
guesto 26.08.2016 04:36 # +73
Analotolievich 30.08.2016 22:19 # +2
void_main 30.08.2016 22:27 # −34
j123123 26.08.2016 08:22 # +64
Elvenfighter 26.08.2016 12:43 # +9
j123123 27.08.2016 02:14 # 0
Вообще да, но гоняют его обычно на C/C++/Obj-C/Obj-C++
Ну и еще он вроде используется применительно к исходникам на ассемблере GAS. Больше не могу ничего такого вспомнить, если говорить о дефолтном применении
guesto 27.08.2016 02:46 # 0
хохохо, представляю какой сейчас был бы бугурт!
inkanus-gray 27.08.2016 02:52 # 0
http://govnokod.ru/13492#comment189861
m4 всё-таки универсальнее. В нём хоть какие-то вычисления можно делать, в отличие от cpp.
guesto 27.08.2016 02:57 # 0
inkanus-gray 27.08.2016 03:03 # +1
В m4 хотя бы есть инкремент и декремент, а в cpp приходится строить монстра, похожего на компьютер из Майнкрафта.
guesto 27.08.2016 03:06 # +1
просто m4 сам по себе ломает мозг
может быть в 1979м году он и был няшечкой, но сейчас на таком не программируют
inkanus-gray 27.08.2016 12:53 # −1
guesto 27.08.2016 03:01 # 0
Раньше препроцессор был маст хев всегда и везде. А теперь нет.
Новые ЯПы без него как-то обходятся. Чому так?
inkanus-gray 27.08.2016 13:01 # −1
inkanus-gray 27.08.2016 13:13 # −1
http://govnokod.ru/14175#comment203408
j123123 27.08.2016 14:35 # 0
bormand 27.08.2016 17:14 # 0
Или в ней что-то ещё интересное есть помимо cog.out?
Steve_Brown 29.08.2016 12:59 # −1
Сразу захотелось использовать для, скажем, рассказа - для кастомизируемости и создания нескольких версий.
где
void_main 29.08.2016 13:54 # −33
CrashTesterAnusov 14.05.2017 18:04 # 0
kurwa 31.08.2016 23:32 # +1
void_main 31.08.2016 23:47 # −22
j123123 31.08.2016 07:57 # +1
void_main 31.08.2016 23:23 # −22
guest 11.04.2017 00:01 # −1