From d1dc95871402a71ccc92e6d19b7fe762d470252c Mon Sep 17 00:00:00 2001 From: Raphael Date: Fri, 30 Jan 2026 23:30:12 +0100 Subject: [PATCH] feat(Grace): adding the code --- C/Grace/Grace.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 C/Grace/Grace.c diff --git a/C/Grace/Grace.c b/C/Grace/Grace.c new file mode 100644 index 0000000..8e09724 --- /dev/null +++ b/C/Grace/Grace.c @@ -0,0 +1,17 @@ +#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; }