-
Notifications
You must be signed in to change notification settings - Fork 0
/
g-sm.py
18 lines (16 loc) · 1014 Bytes
/
g-sm.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import os
import subprocess
import sys
prog = r'''
main(){unsigned char *x=calloc(12,1);unsigned char *l=x;++*x; ++*x; ++*x; ++*x; ++*x; ++*x; ++*x; ++*x;++*x; ++*x;while(*x){++x;++*x; ++*x; ++*x; ++*x;++*x; ++*x;++*x;++x;
++*x; ++*x; ++*x; ++*x; ++*x; ++*x; ++*x; ++*x;++*x; ++*x;++x;++*x; ++*x;++*x;++x;++*x; ++*x; ++*x; ++*x; ++*x; ++*x; ++*x; ++*x;++*x;--x; --x; --x; --x;--*x;}++x;++*x; ++*x;
putchar(*x);++x;++*x;putchar(*x);++*x; ++*x; ++*x; ++*x;++*x; ++*x;++*x;putchar(*x); putchar(*x);++*x; ++*x;++*x;putchar(*x);++x;++*x; ++*x;putchar(*x);++x;
--*x; --*x;--*x;putchar(*x);--x; --x;putchar(*x);++*x; ++*x;++*x;putchar(*x);--*x; --*x; --*x; --*x;--*x; --*x;putchar(*x);--*x; --*x; --*x; --*x; --*x; --*x; --*x; --*x;putchar(*x);
++x;++*x;putchar(*x);free(l);}
'''
if not os.path.exists('foo'):
f = open('foo.c', 'w')
f.write(prog)
f.close()
subprocess.call(["gcc", "foo.c", "-ofoo", "-std=c99", '-w', '-Ofast'])
subprocess.call(["./foo"], stdin=sys.stdin)