GCC程序编译过程GCC常用后缀名GCC使用方法最基础也是最高端的方法 Linux环境下man gcc 命令查看帮助信息 # 在这里列举man的使用方法 回车 下一行 page up 上一行 page down 下一行 home[方向键左]第一页 end[方向键右] 最后一页 空格 下一页 b 上一页 q 退出 /string 从上往下搜索字符串string ?string 从下往上搜索字符串string n 下一个搜索匹配项 N 上一个搜索匹配项
GCC参数汇总GCC常用参数编译过程参数参数 | 作用 |
---|
-c | 只编译不链接,生成目标文件 .o | -S | 只编译不汇编,生成汇编代码 | -E | 只预编译 | -g | 包含调试信息 | -o 文件名 | 指定输出目标文件 | -I 路径名 | 搜索头文件路径 |
库选项参数linux下静态链接库和动态链接库格式 # 静态链接库 .a [libname.a]
# 动态链接库 .so [libname.so[主版本号.次版本号.发行号]] 例如 libgupnp-dlna-gst-2.0.so.3.0.0
在Linux系统中: 头文件存放路径一般为/usr/include 库文件存放路径一般为/usr/lib 参数 | 作用 |
---|
-static | 静态编译 | -shared | 生成动态库文件 进行的动态编译 | -L 路径名 | 库文件搜索中添加路径 | -fPIC | 生成使用相对位置无关码的目标代码 |
默认情况下的编译为动态链接 编译静态链接库- 调用静态链接库
gcc -o [file.c] -L [file.a]
编译动态链接库- 生成位置无关目标代码
gcc -fPIC -c [file.c] - 生成动态链接库
gcc -shared -o [*.so] [*.o] - 调用动态链接库
gcc -o [file] -L [file.so] - 为了使程序运行时加载动态链接库,将动态库拷贝到
/usr/lib 目录下
警告选项参数 | 作用 |
---|
-w | 关闭所有警告 | -Wall | 发出gcc提供的所有有用警告 | - pedantic | 发出ansic的所有警告 |
优化选项参数 | 作用 |
---|
-O 优化等级 | 优化等级,一般只是最终发布的时候才用 |
|