C语言(1) - 开始之前

总之是鬼使神差的原因,忽然想起来要复习一下C。

但是谁又知道这种激情什么时候会被熄灭,管它呢,留个脚印吧。

因为大学的时候学过C,也算有点基础,所以直接下了本《C和指针》来复习一下。

1.我使用的是GCC 3.4.5作为编译器

2.在ANSI C的任何版本都有两种环境:编译环境和执行环境。

3.编译环境:

3.1预处理器首先工作,它会做一些文本操作,如将#define预处理指令替换为实际值。

3.2然后源代码会经过解析的过程,像检查代码的语法是否正确等等。这一步是产生大量编译错误信息的步骤。

3.3随后会被翻译器翻译为目标代码。

3.4如果有编译优化选项的话,编译器还会对目标代码进行优化。

3.5然后是链接器,链接器将各个目标代码链接在一起形成一个可执行的文件,链接器会链入工程中需要使用的C标准     库函数级非标准库的模块。

4.运行环境:

4.1程序的载入,如果是在宿主环境中,这个过程由操作系统完成。在这个过程中,不是存储在堆栈空间的变量将在这时候得到初始值。

4.2程序开始运行。通常一个很小的启动程序和程序链接在一起,用于处理一些日常事务。接下来就用从main()开始

 4.3程序开始运行,在大多数的机器里,通常会产生一个运行时堆栈空间(stack),以维护函数的局部变量和返回地址。程序这时可以使用静态内存了,在程序运行的整个过程中,静态变量将一直保留自己的值。

4.4程序的关闭,正常的关闭里由main()函数的return语句完成的,在宿主环境中,启动程序将再将获得控制权,以完成日常事务,如文件的关闭等。

posted @ 2009-05-04 14:40  ________囧丶殇  阅读(221)  评论(0编辑  收藏  举报