GCC编译选项笔记
2024-09-05 00:29:17
警告选项
- -Wall:开启大多数的警告信息
- -Wextra:开启额外的警告信息,比如参数未使用警告(-Wunused-parameter)
- -Werror:将警告当作错误,中断编译
优化选项
- -O,-O1:在不影响编译速度的前提下,尽量采用一些优化算法降低代码大小和可执行代码的运行速度
- -O2:该优化选项会牺牲部分编译速度,除了执行-O1所执行的所有优化之外,还会采用几乎所有的目标配置支持的优化算法,用以提高目标代码的运行速度
- -O3:该选项除了执行-O2所有的优化选项之外,一般都是采取很多向量化算法,提高代码的并行执行程度,利用现代CPU中的流水线,Cache等
- -Og:该标识会精心挑选部分与-g选项不冲突的优化选项,当然就能提供合理的优化水平,同时产生较好的可调试信息和对语言标准的遵循程度
调试选项
- -g:在可执行文件中保留调试信息,调试符号位于与代码/数据部分完全不同的部分中,这些部分不会在运行时加载,因此不会造成任何性能损失
符号可见性(链接选项)
- -fvisibility=hidden:默认隐藏所有符号,再手动选择哪些函数对于链接到库的用户是可见的,并通过用可见属性标记它们使它们可见
__attribute__((visibility("default")))
- -rdynamic:通知链接器将符号添加到动态符号表中,目的是能够通过使用 dlopen 来实现向后跟踪
最新文章
- MATLAB 画出三个通信小区cell边界示意图
- 15个必须知道的chrome开发者技巧
- jboolean
- [LeetCode#84]Largest Rectangle in Histogram
- C# Html网页生成图片解决方案1
- 剑指offer第五题
- PHP MySql数据库访问
- 【AC大牛陈鸿的ACM总结贴】【ID AekdyCoin】人家当初也一样是菜鸟
- List list = new ArrayList()
- 【啊哈!算法】算法6:只有五行的Floyd最短路算法
- Java基础-运行原理及变量(01)
- 【转】几种现代GPS测量方法和技术
- Python:Selenium 1:浏览器驱动
- 十个有意思的Github Page
- install MariaDB 10.2 on Ubuntu 18
- pandas爬虫
- std::set
- 【转】在windows中使用Intellij Idea时选择自定义的64位JVM
- office转换成pdf
- D04——C语言基础学PYTHON
热门文章
- fake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached解决方法!
- python:列表生成式和三元表达式、匿名函数
- HTTP 协议类
- 吴恩达《深度学习》-第五门课 序列模型(Sequence Models)-第二周 自然语言处理与词嵌入(Natural Language Processing and Word Embeddings)-课程笔记
- Debian、kali类虚拟机网络设置
- svg的学习
- cnpm install 报错
- 浅谈SSRF
- Linux初步了解
- 创建Vue项目及封装axios