C语言与linux的故事

声明:本文是作者读完http://www.aqee.net/proof-that-linux-is-always-number-1/这篇文章后的随想。

 

凌晨2点,电脑前,程序员还在不断修改着自己的代码。像所有操心的父母为自己的女儿设计着未来。

#include <stdio.h>

int main ()
{
    int linux = 0;
    printf("%d\n", linux);
    return 0;
}

 

那时,这位父亲还不知道linux是谁,只知道他一无所有。他只是自己找来的临时工。

父亲安排好这一切,等着明天再告诉女儿。

女儿名叫“C语嫣“。所有的父母都认为自己的孩子才是最优秀的,这位父亲也不例外。父亲也喜欢向其他人炫耀自己的女儿,总是说自己的女儿多么的聪明能干。“C语嫣”确实也没有辜负父亲的期望。她总是能用很少的时间就能把事情做好,以致还经常引来其他人的妒忌。话说回来,父亲这么夸自己的女儿,不是所有人都会服气。有时他也会跟其他做父母的争得面红耳赤。

第二天,父亲找来了女儿。

女儿也第一次见到了linux。以前,因为工作需要,程序员也会介绍一些人给女儿认识。在程序员看来,这次和往常没有差别。

对于女儿,这一次却不同寻常。

只是一眼,便觉得眼前这位男子的前世与自己的今生有着千丝万缕的联系。他很像经常出现在自己梦里的一个人。

 

程序员从刚才的思绪中清醒过来。看了看屏幕上的时间,两点五分,刚才又走神了。他飞快地在终端下敲下程序的编译指令:

$ gcc -o test.out test.c

编译的结果却出乎意料:

test.c: In function ‘main’:
test.c:5:9: error: expected identifier or ‘(’ before numeric constant

不可能啊,这种简单的程序自己不知写过多少遍了,怎么会出错呢?

程序员的思绪再次凌乱了。。。

 

女儿第一次违背了父亲的意愿。

父亲第一次对女儿感到失望。

这次女儿太不正常了,不会有什么事吧?出于对女儿的关心,父亲不得不出此下策。

女儿有写日记的习惯。父亲第一次偷看了女儿的日记。

 

程序员再次从恍惚中清醒过来,他这次要看个究竟,看看到底发生了什么:

$ gcc test.c -E

输出的结果还是 吓了他一跳:

......

int main ()
{
int 1 = 0;
printf("%d\n", 1);
return 0;
}

 

看完女儿的日记,一切都明白了。原来自己觉得一无是处的linux早已存在于女儿的心里。父女两人对linux的看法产生了冲突。对女儿来说,linux意味着一切。linux在她心中的地位是没有人能够改变的。父亲也不行。

父亲毕竟还是开明的,这次他没有为难女儿。父亲没有再把自己对linux的看法强加给女儿。

这次,女儿高兴地照父亲说的去做了。父亲也看到了想要的结果。

 

刚才的预处理结果着实让程序员吃惊不小。但程序员不会跟自己的程序过不去,他迅速地删掉了对变量linux赋值的那行代码:

#include <stdio.h>

int main ()
{
    printf("%d\n", linux);
    return 0;
}

再次编译运行:

$ gcc -o test.out test.c && ./test.out 

1

程序员这才恍然大悟,原来在C语言的世界里linux永远都是number 1 。

 

posted on 2014-01-08 14:32  buptpatriot  阅读(1017)  评论(7编辑  收藏  举报

导航