声明:本文是作者读完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. Swift——(两)Swift访问元组

    在Swift在,获取元组的值到一个位置,通过三种方法: 1.使用元组变量/常量     @Author: twlkyao转载或者引用请保留此行. let http404Error = (404, &q ...

  2. 我的MYSQL学习心得(三)

    原文:我的MYSQL学习心得(三) 我的MYSQL学习心得(三) 我的MYSQL学习心得(一) 我的MYSQL学习心得(二) 我的MYSQL学习心得(四) 我的MYSQL学习心得(五) 我的MYSQL ...

  3. Cannot update paths and switch to branch at the same time(转)

    当使用git进行操作: git checkout -b local-name origin/remote-name 出现错误: fatal: git checkout: updating paths ...

  4. Leetcode:unique_binary_search_trees

    一.     称号 给定的数目n.问:有多少种不同BST(二叉搜索树) 比如: 因为N =3,共同拥有5种独特的BST. 1          3      3       2      1 \   ...

  5. linux_ssky-keygen + ssh-copy-id 无密码登陆远程LINUX主机

    使用下例中ssky-keygen和ssh-copy-id,仅需通过3个步骤的简单设置而无需输入密码就能登录远程Linux主机. ssh-keygen 创建公钥和密钥. ssh-copy-id 把本地主 ...

  6. cocos2dx 3.0 它 使用std::bind更换CC_CALLBACK_N

    在cocos2dx 3.0 版本号,回调函数本质4一个CC_CALLBACK_N 替换功能.N的回调函数的参数的数量的代表 1.让我们来看看这些CC_CALLBACK_N怎么用 比方action的回调 ...

  7. 异步编程(Async和Await)的使用

    .net4.5新特性之异步编程(Async和Await)的使用 一.简介 首先来看看.net的发展中的各个阶段的特性:NET 与C# 的每个版本发布都是有一个“主题”.即:C#1.0托管代码→C#2. ...

  8. C#5.0新特性

    C#5.0新特性 C#5.0最大的新特性,莫过于Async和Parallel. 以往我们为了让用户界面保持相应,我们可以直接使用异步委托或是System.Threading命名空间中的成员,但Syst ...

  9. The Swift Programming Language-官方教程精译Swift(9) 枚举-- --Enumerations

    枚举定义了一个通用类型的一组相关的值,使你可以在你的代码中以一个安全的方式来使用这些值.   如果你熟悉 C 语言,你就会知道,在 C 语言中枚举指定相关名称为一组整型值.Swift 中的枚举更加灵活 ...

  10. Pki原则

    核心提示: 公开密钥和公开密钥证明书,产生的私钥client要么server证书.加密的公共密钥才能解密私钥文件只.私钥只能解密公开的加密文件.公众认为,它是开放的.所有的人都能够得到它.私人还表明, ...