2.1 环境
翻译环境:源代码被转换为可执行的机器指令。
执行环境:用于实际执行代码。
2.1.2 翻译
一 、 文件名约定
源代码保存于以.c扩展名命名文件中;由#include指令包含到C源码的文件被称为头文件,具有扩展名.h。
目标文件,在UNIX系统中,他们的扩展名师.o;在MS-DOS系统中,扩展名是.obj
二 、 编译和连接
在大多数UNIX系统中,C编译器被称为cc,可以用多种不同的方法调用:
1 、编译并连接一个完全包含于一个源文件的C程序:
cc program.c
这条命令会产生一个a.out 的可执行程序。中间位产生一个名为program.o的目标文件,
但在连接过程后会被删除。
2 、编译并连接几个C源文件:
cc main.c sort.c lookup.c
当编译源文件超过一个时,目标文件便不会被删除。这就允许你对程序修改后,
只对那些进行过改动的源文件进重新编译,如下一条命令所示
3 、编译一个C源文件,并把它和现存的目标文件链接一起:
cc main.o lookup.o sort.c
4 、编译单个C源文件,并产生一个目标文件,以后再进行连接:
cc -c program.c
5 、编译几个源文件,并为每个源文件产生一个目标文件:
cc -c main.c sort.c lookup.c
6 、连接几个目标文件
cc main.o sort.o lookup.o
注:以上产生可执行程序的的命令可以加上”-o name“这个选项,
它可以使连接器把可执行程序保存在”name“文件中,而不是”a.out“
2.12 、执行
程序载入内存-->程序执行-->程序终止
2.2 、 词法规则
2.2.1 、字符
三字母词: ??( [ ??< { ??= #
??) ] ??> } ??/ /
??! | ??' ^ ??- ~
转义序列: /? ? /" " /' ' // /
转义符: /a 警告字符
/b 退格符
/f 进纸符
/n 换行符
/r 回车符
/t 水平制表符
/v 垂直指标符
/ddd ddd表示1~3个八进制数字
/xddd 十六进制数字