C_易水寒

海角C语言,被遗忘的凄美故事!剜骨放血,只有最深痛的记忆留在中枢神经!

导航

程序人生,从“Hello,world!”说起

看到Helloworld!我想哭,也想笑。

我想到八九十年代学习英语的并且现在都混得不错的人,当他们看到美洲狮时,也会有这样的感受吧,因为当时他们自学的是《新概念英语》,第一课就是《The puma》。

而每一个学习程序的人,看到的第一个程序,也是最最最最经典的程序就是“Hello,world!”。

敬畏的源代码如下:

#include<stdio.h>

void main()

{

      printf("Hello,world!");

      return 0;

}

首先,先不介绍它的哲学意义(它有极其重要的哲学意义),这里仅仅分享一下它的程序意义。

它是最简单的一个程序,也是最复杂的一个程序。

说它简单,任何人都可以在一分钟之内学会写它;说它复杂,而真正能够回答以下这几个问题的人并不多。

看这几个问题:

1)        编译器在把C语言程序转换成可以执行的机器代码过程中做了什么?怎么做了?

2)        最后编译出来的可执行文件里面是什么?它们是怎么存放的?怎么组织的?

3)        C语言库又是什么?它是怎么实现的?

4)        不同的编译器和不同的硬件平台及不同的操作系统,最终编译出来的结果是一样么?为什么?

5)        此程序是怎么运行的?怎么装载?从哪里开始?

6)        如果没有操作系统,此程序还能运行么?如果在一个没有装操作系统的机器上运行,怎么运行?应该怎么实现?

7)        printf为什么能在终端输出字符?

8)        Hello,world!在运行时,它在内存中是什么样子的?

……

感谢这些问题,它把一个人带入了技术背后的内幕这个行业!

posted on 2011-10-25 17:37  C_易水寒  阅读(148)  评论(0编辑  收藏  举报