调试相关
gcc -v(输出编译细节)
gcc -MM(生成和头文件的依赖关系)
gcc -g3(生成调试信息,-gdwarf)
gcc -ggdb3(生成gdb专用的调试信息)
gcc -p(生成性能分析信息)
gcc -pg(生成gdb专用的分析信息)
警告相关
gcc -w(关闭所有警告)
gcc -Wall(输出所有警告)
gcc -Wno-deprecated(关闭使用废弃函数等用法的警告)
gcc -fno-common(通知链接器,在遇到多个弱定义的全局符号时输出一条警告信息)
改变隐藏的链接行为
gcc -nostartfiles(Do not use the standard system startup files when linking)
gcc -nodefaultlibs(Do not use the standard system libraries when linking)
gcc -nostdlib(Do not use the standard system startup files or libraries when linking)
链接静态库 or 链接动态库
gcc -static(使用静态库进行链接,所有)
gcc -static-libstdc++(使用静态库进行链接,指定某一个)
gcc -Bdynamic(使用动态库进行链接,缺省值)
so相关选项
gcc -fPIC(生成位置无关代码)
gcc -shared(生成共享库,即so)
gcc -Wl,-soname(指定生成共享库的soname)
exe相关选项
gcc -fPIE(生成位置无关代码)
gcc -Wl,--as-needed(仅链接需要的动态库,有些版本gcc不支持)
gcc -rdynamic(通知链接器,把符号导出到dynamic symbol list中,用于exe符号导出)
gcc -Wl,--export-dynamic(同上)
网友评论