Skip to content

Comment on Fare: Metaprogramming from the ground up: avoid C

Comments

But that doesn't mean it is impossible to write trivial harmful metaprograms in CPP, as is easily demonstrated in my counter-example die_die_stupid_c_compiler.c

I'm slightly disappointed that

  gcc -E die_die_stupid_c_compiler.c
didn't die, although it did produce about 750k of output, which is quite impressive...

Can anyone explain why this takes so long to compile? It doesn't look that complicated.

Edit: I compiled with "gcc -O3 -s", which took 8 minutes, but the executable is only 4784 bytes.

The long compilation time is due to the optimization options. Without optimization it compiles in a few seconds.

Yet, the macros leave plenty of space for optimization. See the size of your executable compared to the unoptimized one of qwph above.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.