最简单的helloword程序:
#include
void main()
{
printf("hello world\n");
}
我们编译运行:
#gcc -Wall -o helloword hello.c
#./helloword
#hello world
通常说的“编译”的过程包括:
1:预处理(pre—process)。从c语言文件生成预处理后的c语言文件。预处理的过程一般包括了去注释、头文件展开、宏替换等过程。
-E Stop after the preprocessing stage; do not run the compiler proper.默认输出到标准输出。
#gcc -Wall -E hello.c
2:编译(complie)。将从与处理后的c语言文件生成汇编程序。
-S Stop after the stage of compilation proper; do not assemble。
# gcc -Wall -S -o hello.s hello.c
hello.s 就是生成的汇编代码.
3:汇编(assemble)。将汇编程序生成二进制目标文件。
-c Compile or assemble the source files, but do not link.
#gcc -Wall -c -o hello.o hello.s
gcc 中的归档工具ar 。把目标文件生成静态链接库(static lib)。静态库可以被应用程序连接。