17 lines
776 B
C
17 lines
776 B
C
#include <stdio.h>
|
|
|
|
/*
|
|
* 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 <stdio.h>%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; }
|