【Linux/gcc系列】Gcc编译链接选项的用法总结

Date: 2019-3-13


前言

    Gcc编译器套件中包含了Linux程序编译和链接的整个工具链,其中编译和链接选项控制了编译器和连接器的行为(比如打印输出、警告等)。下面总结了项目中遇到的Gcc编译链接选项的用法。

1、Gcc编译链接选项的用法总结

(1)、gcc选项参数-D,-M以及makefile相关命令
(2)、makefile的override指示符与gcc -ldl选项作用
(3)、GCC的符号可见性——解决多个库同名符号冲突问题
(4)、链接选项-L,-l,-rpath,-rpath-link用法分析
(5)、-Werror, -Wimplict-function-declaration, -w, -Wall
(6)、-D_REENTRANT编译选项的作用
(7)、linux gcc编译参数: -fPIC
(8)、创建动态库时,建议使用的链接选项-Bsymbolic
(9)、GCC选项_-Wl,-soname
(10)、gcc编译选项:-fomit-frame-pointer,-fno-tree-vectorize,-fno-strict-aliasing以及ARM相关选项
(11)、gcc编译参数之-fno-strict-aliasing
(12)、gcc链接参数–whole-archive的作用
(13)、gcc选项含义:CFLAGS、CXXFLAGS、LDFLAGS与LIBS

2、未完待续…
2.1、编译选项-Waggressive-loop-optimizations分析

参考网址:
https://stackoverflow.com/questions/41412118/compiling-postgresql-disable-fno-aggressive-loop-optimizations
https://blog.csdn.net/ljianhui/article/details/9212817

Gcc官方文档解释如下:
在这里插入图片描述
在这里插入图片描述

3、参考

gcc online docs: https://gcc.gnu.org/onlinedocs/gcc-5.4.0/gcc.pdf


THE END!

在这里插入图片描述

转载于:https://www.cnblogs.com/SoaringLee/p/10532129.html

你可能感兴趣的:(【Linux/gcc系列】Gcc编译链接选项的用法总结)