这是一个可以把自己的源代码输出的一个C程序,因为这有点类似于“克隆技术”,所以我就堂而皇之的取了“一个会克隆自己的C语言程序”这个题目。
Code
[1] filename -- cloneitself.c
|
Demo
shell> ./cloneitself #include int main() { char self[] = "#include printf(self,10,10,10,9,34,self,34,10,9,10,9,10); return 0; } |
Remark
如果知道9,10,34对应的字符分别是制表符,换行,双引号,那么就不难理解这个程序拉。
Extension
如果无心注意,我们可能不会想到一个程序可以完全产生一份自己的源代码。稍微拓展的想象一下,程序自己还可以做的事情有很多,比如自压缩/解压、“自 杀”(这个程序具体见“感情脆弱的C程序”一帖)、自我复制和传播(病毒特征)等等功能。是不是可以想象——也许有一天,程序有了自我学习和思考的能力 (人工智能)。
0 件のコメント:
コメントを投稿