签到

06月21日
尚未签到

共有回帖数 0

    愤怒的鸟

    等级:
    呵呵,我一向爱搞些有的没有的,刚刚没事,写了个能产生自己源码的程序:

    #define p(a) main(){puts(#a);printf("p(%s)",#a);}
    p(#define p(a) main(){puts(#a);printf("p(%s)",#a);})

    在 gcc 3.3.5 下通过
    假设把这两行程序存成 self-rep.c,
    然后编译:$ gcc self-rep.c -o sr
    执行:$ ./sr,会在屏幕上输出自己的源码
    如果用重定向运行把输出存成文件:$ ./sr  out.c
    那文件会和源码一样 :)

    楼主 2016-03-03 16:49 回复

共有回帖数 0
  • 回 帖
  • 表情 图片 视频
  • 发表

登录直线网账号

Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号 意见反馈 | 关于直线 | 版权声明 | 会员须知