今天开始讲C语言了,第一天讲了c程序怎样从.c文件到.out文件运行的。讲了linux下的gcc指令。
C语言文件从编写完成到编译链接及最后生成执行文件的全过程。
source code :源代码;
header files:头文件;
proprecessing\proprecessed:预处理;
assembly:集合;
object files:目标文件;
static library:静态库;
linking:链接;
executable:可执行文件。
************************************************************************************************************************
cpp(预处理):把.h放在.c文件里生成.i文件
Static Library :运行时环境。
Hello.c :c语言文件。
Stdio.h : 头文件。
Hello.i :将 stdio.h放到hello.c文件后生成的文件。
Hello.s :汇编文件。
Hello.o : 机器语言文件。
./ 执行当前路径下的.out
.c --------》编译器-------》 .s------》汇编器------》.o
gcc filename.c -o filename
直接变成机器语言。
#include<stdio.h>不是c语句,预处理命令
gcc -E filename.c –o filename.i
预处理命令(cpp)。
gcc –S filename.i -o filename.s
编译,生成汇编文件。
gcc -C filename.s -o filename.o
汇编,生成机器语言文件。
echo $?
查看返回值。