声明:本文是作者读完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. 35,000FT大气压力的问题

    原来的问题:压力在喷气客机的飞行FL350(35,000脚)大约210mmHg.这是个大气压的数量? 在每平方英寸磅? 多少帕斯卡尔? http://wenwen.sogou.com/z/q33797 ...

  2. Hibernate各保存方法之间的差 (save,persist,update,saveOrUpdte,merge,flush,lock)等一下

    hibernate保存  hibernate要保存的目的是提供一个方法,多.它们之间有许多不同之处,点击此处详细说明.使得差: 一.预赛: 在所有.阐释.供hibernate,,transient.p ...

  3. Android测试流量的几种方法

    1. tcpdump + wireshark 1.1 tcpdump抓包 注意:Android设备使用tcpdump需要root权限 tcpdump是一个在Unix-like系统中通用的网络抓包工具, ...

  4. WebApi统一输出接口

    public class WebApi { /// <summary> /// 成功后的输出 /// </summary> /// <param name="d ...

  5. java_eclipse_svn 与服务器同步时 ,忽略某类型文件和文件夹

    1. 在项目开发中使用svn ,带来很大的方便,有时我们会把整个项目上传的svn服务器上 这样就包含了  编译过的class文件  以及 一些 .svn,.log文件,有些文件时本地complie 的 ...

  6. JS开发调试

    开发调试工具   页面制作之开发调试工具(1) 开发工具介绍 开发工具一般分为两种类型:文本编辑器和集成开发环境(IDE) 常用的文本编辑器:Sublime Text.Notepad++.EditPl ...

  7. 又一次拾起C语言的威严

    自从用了C++,他的方便快捷一直用着屡试不爽,可是越用越认为程序不够清晰, 项目使用DSP,不得不把C++重写成C 速度没得说,很快 记录下看到的文章 少走弯路,学好C语言的推荐途径

  8. Socket 学习(三).1 tcp 通讯

    实现了,局域网客户端 对客户端 的通讯. 实际上这是 一个 客户端 兼 服务端 . 2个阿里云服务器测试 效果图: 本地效果图: using System; using System.Collecti ...

  9. css3中display和box小结

    display:table用处: 1.创建登高列 2.实现大小不确定元素的垂直居中 3.容器内子项目数目未知,子项目平均分配容器的水平空间 float必须指定其宽度才行,不确定的话就用display: ...

  10. 原生态纯JavaScript 100大技巧大收集---你值得拥有

    1.原生JavaScript实现字符串长度截取 function cutstr(str, len) { var temp; var icount = 0; var patrn = /[^\x00-\x ...