已编写好一个C语言源程序(名为file.c),要在计算机上运行,应该经历哪些步骤?写出每一步所得到的文件扩展名
预处理:一般根据程序中定义的宏,把它们替换为所代替的值。
编译(compile):生成汇编代码 ——file.S
汇编(assembly):将汇编程序由汇编器(assembler)生成目标代码(或机器代码)——file.o
链接(link):把目标代码链接为可执行文件——file.exe (GUN C Compiler一般生成a.out)
不同的编译器不尽相同,以gcc为例:
预处理(cpp):得到的文件一般仍保存为.c文件.
编译(cc1):把经过预处理的.c文件编译成.s文件.
汇编(as):把.s文件汇编成目标文件.o.
链接(ld):把目标文件和库文件等链接起来生成可执行文件(windows上为.exe文件).
运行:加载到内存.
概括的说,有预处理,编译,链接等过程.