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

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

#include <stdio.h>

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

那时,这位父亲还不知道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 ;
}

再次编译运行:

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

1

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

C语言与linux的故事的更多相关文章

  1. 操作系统Unix、Windows、Mac OS、Linux的故事

    电脑,计算机已经成为我们生活中必不可少的一部分.无论是大型的超级计算机,还是手机般小巧的终端设备,都跑着一个操作系统.正是这些操作系统,让那些硬件和芯片得意组合起来,让那些软件得以运行,让我们的世界在 ...

  2. Unix、Windows、Mac OS、Linux系统故事

    我们熟知的操作系统大概都是windows系列,近年来Apple的成功,让MacOS也逐渐走进普通用户.在服务器领域,恐怕Linux是无人不知无人不晓.他们都是操作系统,也在自己的领域里独领风骚.这都还 ...

  3. [转]操作系统Unix、Windows、Mac OS、Linux的故事

    [写得很江湖气,可惜找不到原作者了] 文章转自:http://blog.csdn.net/wenmingchan/article/details/49925379 http://www.jb51.ne ...

  4. 【转】操作系统Unix、Windows、Mac OS、Linux的故事

    电脑,计算机已经成为我们生活中必不可少的一部分.无论是大型的超级计算机,还是手机般小巧的终端设备,都跑着一个操作系统.正是这些操作系统,让那些硬件和芯片得意组合起来,让那些软件得以运行,让我们的世界在 ...

  5. 使用c语言实现linux数据库的操作

    前言:上一篇讲解了linux下使用命令行操作数据库,这篇继续讲解怎么使用c语言实现linux数据库的操作. 使用c语言实现环境搭建:既然我们要使用c语言实现linux数据库操作,那么首先我们得先把数据 ...

  6. 课后练习:C语言实现Linux命令——od

    课后练习:C语言实现Linux命令--od --------CONTENTS-------- 题目详情与分析 设计思路 遇到的问题及解决 待实现的设想与思考 学习反思与感悟 附1:myod.c「1.0 ...

  7. C语言实现Linux命令——od

    C语言实现Linux命令--od 实现要求: 复习c文件处理内容 编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能 main与其他分开,制作静态库和动态库 编写M ...

  8. ElasticSearch 2 (19) - 语言处理系列之故事开始

    ElasticSearch 2 (19) - 语言处理系列之故事开始 摘要 全文搜索是精度(尽可能少的返回不相关文档)和召回(尽可能多的返回相关文档)的战场.尽管只精确匹配用户查询的词肯定会是精确的, ...

  9. 20155212 C语言实现linux下pwd命令的两种方法

    20155212 C语言实现linux下pwd命令的两种方法 学习pwd命令 通过man pwd命令查看 pwd [OPTION],一般不加参数 -P显示当前目录的物理路径 -L显示当前目录的连接路径 ...

随机推荐

  1. java两个音频进入巩固期 玩的同时类似的伴奏

    /** * * @param partsPaths 阵列要合成音频路径 * @param unitedFilePath 输入合并结果数组 */ public void uniteWavFile(Str ...

  2. Xcode-5.1.1更改文件盯作者

    原来的文件默认是用户开机时的username ,网上说什么改通讯录事实上都是不正确的. 1.首先打开偏好设置,选择用户群组 2.进入用户界面 改动全名.此时要求你输入用户的password才干改动us ...

  3. MySQL当您插入列无效的数据插入

    1.错误叙述性说明 com.mysql.jdbc.exception:jdbc4.MySQLSyntaxErrorException:Unknown column 'man' in 'field li ...

  4. Nyoj 吝啬的国度(图论&&双DFS)

    描述在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来.现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城市是几号城市(假设你 ...

  5. 为什么数据线easy糟糕

    一个好的设计可以帮助解决问题似乎无关紧要豪. 两天前M3数据线被破坏.在弯附近的电话插口可以充电.一松就充不了电了. 今天突然想到每次充电的时候用手机发信息.玩游戏都特别不方便,才想到为什么数据线ea ...

  6. Android - 错: java.lang.IllegalStateException: Already attached

    错: java.lang.IllegalStateException: Already attached 本文地址: http://blog.csdn.net/caroline_wendy 可能原因: ...

  7. Activity的LaunchMode情景思考

    此链接:http://blog.csdn.net/xiaodongrush/article/details/28597855 1. 有哪几种类型?分别有什么用? http://developer.an ...

  8. Oracle Global Finanicals Technical Reference(一个)

    Skip Headers Oracle Global Finanicals Oracle Global Financials Technical Reference Manual Release 11 ...

  9. 基于Jquery的多彩二维码的生成

    Demo效果图: 源代码: @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name=&quo ...

  10. Mac在结构quick cocos2d-x编译环境

    关于 Quick 很多其它的使用说明可參考安装文件夹下的 README 文件. Quick-Coco2d-x开发工具 普通情况下,我们通常都会採用Cocos Code IDE作为开发工具来高速开发游戏 ...