#include /* * Grace - Autoreproduction sans main */ #define OPEN_FILE FILE *kid = fopen("Grace_kid.c", "w"); if (!kid) return; #define WRITE_CODE fprintf(kid, CODE, 10, 9, 34, CODE); fclose(kid); #define CODE "#include %1$c%1$c/*%1$c * Grace - Autoreproduction sans main%1$c */%1$c%1$c#define OPEN_FILE FILE *kid = fopen(%3$cGrace_kid.c%3$c, %3$cw%3$c); if (!kid) return;%1$c#define WRITE_CODE fprintf(kid, CODE, 10, 9, 34, CODE); fclose(kid);%1$c%1$c#define CODE %3$c%4$s%3$c%1$c%1$c#define MAIN OPEN_FILE WRITE_CODE%1$c%1$cvoid __attribute__((constructor)) grace(void) {%1$c%2$cMAIN%1$c}%1$c%1$cint main(void) { return 0; }%1$c" #define MAIN OPEN_FILE WRITE_CODE void __attribute__((constructor)) grace(void) { MAIN } int main(void) { return 0; }