C语言与linux的故事
声明:本文是作者读完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的故事的更多相关文章
- 操作系统Unix、Windows、Mac OS、Linux的故事
电脑,计算机已经成为我们生活中必不可少的一部分.无论是大型的超级计算机,还是手机般小巧的终端设备,都跑着一个操作系统.正是这些操作系统,让那些硬件和芯片得意组合起来,让那些软件得以运行,让我们的世界在 ...
- Unix、Windows、Mac OS、Linux系统故事
我们熟知的操作系统大概都是windows系列,近年来Apple的成功,让MacOS也逐渐走进普通用户.在服务器领域,恐怕Linux是无人不知无人不晓.他们都是操作系统,也在自己的领域里独领风骚.这都还 ...
- [转]操作系统Unix、Windows、Mac OS、Linux的故事
[写得很江湖气,可惜找不到原作者了] 文章转自:http://blog.csdn.net/wenmingchan/article/details/49925379 http://www.jb51.ne ...
- 【转】操作系统Unix、Windows、Mac OS、Linux的故事
电脑,计算机已经成为我们生活中必不可少的一部分.无论是大型的超级计算机,还是手机般小巧的终端设备,都跑着一个操作系统.正是这些操作系统,让那些硬件和芯片得意组合起来,让那些软件得以运行,让我们的世界在 ...
- 使用c语言实现linux数据库的操作
前言:上一篇讲解了linux下使用命令行操作数据库,这篇继续讲解怎么使用c语言实现linux数据库的操作. 使用c语言实现环境搭建:既然我们要使用c语言实现linux数据库操作,那么首先我们得先把数据 ...
- 课后练习:C语言实现Linux命令——od
课后练习:C语言实现Linux命令--od --------CONTENTS-------- 题目详情与分析 设计思路 遇到的问题及解决 待实现的设想与思考 学习反思与感悟 附1:myod.c「1.0 ...
- C语言实现Linux命令——od
C语言实现Linux命令--od 实现要求: 复习c文件处理内容 编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能 main与其他分开,制作静态库和动态库 编写M ...
- ElasticSearch 2 (19) - 语言处理系列之故事开始
ElasticSearch 2 (19) - 语言处理系列之故事开始 摘要 全文搜索是精度(尽可能少的返回不相关文档)和召回(尽可能多的返回相关文档)的战场.尽管只精确匹配用户查询的词肯定会是精确的, ...
- 20155212 C语言实现linux下pwd命令的两种方法
20155212 C语言实现linux下pwd命令的两种方法 学习pwd命令 通过man pwd命令查看 pwd [OPTION],一般不加参数 -P显示当前目录的物理路径 -L显示当前目录的连接路径 ...
随机推荐
- 必要的软件架构师——编译原理·语法
最近软测试.我观看进程的视频! 发现里面有很多内容已经在自我不错的接触过程.而占80%比例! 但其中的一部分.我很奇怪的一部分.研究,在这里,将我研究的内容整理分享给大家! 编译原理: 首先,我第一眼 ...
- Java依据Url下载图片
package com.ronniewang.downloadpicture; import java.io.DataInputStream; import java.io.File; import ...
- LevelDB初体验
近期工作须要找一个能使用磁盘存储数据,对写要求比較苛刻,须要每秒达100000TPS,读的时候须要能10000TPS左右,不能占用太多内存.单节点满足这个要求的常见有Redis.Memcached等, ...
- Stopwatch计时器、秒表 C#
.NET2.0也提供了这样一个秒表:Stopwatch类,它可以比较精确地测量时间. 速度测试: 软件的性能和可测性是一个复杂的主题.要确保应用程序能够满足用户的期望,就需要在开发周期内考虑它的性能和 ...
- html + CSS
Html 1 html基本标签 1.1 html文件结构 <!DOCTYPE html PUBLIC "-//W3C//DTDXHTML 1.0 Transitional//EN&qu ...
- WebService返回DataTable问题
今天做项目时,想在WebService中返回DataTable,在单位没成功,看网上有人说datable在.net1.1中是没有序列化的,不能直接在webservice中返回,可以返回dataset. ...
- idea类似eclipse鼠标技巧java api信息
版权声明:本文博客原创文章,博客,未经同意,不得转载.
- leetcode先刷_Merge Two Sorted Lists
非常easy问题. 唯一的地方可以具有更具挑战是确保不会引入额外的空间.查找开始值最小的名单列表的新掌门人,头从列表中删除.其他操作应该没有问题. class Solution { public: L ...
- 拥抱大家庭,nodejs走thrift
拥抱大家庭,nodejs走thrift.最贱的例子,nodejs与nodejs之间走thrift对传. 1,官网下载 http://mirrors.cnnic.cn/apache/thrift/0.9 ...
- JS全选功能代码优化
原文:JS全选功能代码优化 JS全选功能代码优化 最近在看javascript MVC那本书,也感觉到自己写的代码也并不优雅,所以一直在想 用另一种模式来编写JS代码,所以针对之前的简单的JS全选功能 ...