feat(Grace): adding the code
This commit is contained in:
parent
e0880b7172
commit
d1dc958714
1 changed files with 17 additions and 0 deletions
17
C/Grace/Grace.c
Normal file
17
C/Grace/Grace.c
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
#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; }
|
||||||
Loading…
Add table
Add a link
Reference in a new issue