GCC编译器学习记


一、使用GCC

GCC编译过程:

1 预处理

使用-E参数可以让GCC在预处理后停止编译过程。

GCC -E hello.c -o hello.i

2 编译

使用-c参数将预处理后的源文件编译为目标代码。

GCC -c hello.i -o hello.o

3 链接

将生成的目标代码链接成课执行文件。

GCC hello.o -o hello

二、GCC警告提示功能

使用-Wall参数使GCC产生尽可能多的警告信息。

GCC -Wall hello.c -o hello

使用-Werror参数使GCC把警告当成错误处理。

GCC -Werror hello.c -o hello

三、库依赖

使用-I参数可以向GCC的头文件搜索路径中添加新目录。

GCC hello.c -I /home/wuzhiguo/include -o hello

使用-L参数可以向GCC的库文件搜索路径中添加新目录。

GCC hello.c -L /home/wuzhiguo/lib -l mylib -o hello

-l mylib 是指示GCC去链接库文件libmylib.so。Linux下的库文件有一个约定,全部以lib开头,因此可以省去lib。

动态库:.so结尾,在运行时加载。

静态库:.a结尾,在编译时加载。

默认GCC优先加载动态库,可以在通过-static选项强制使用静态链接库。

GCC hello.c -L /home/wuzhiguo/lib -static -l mylib -o hello

相关内容