zoukankan      html  css  js  c++  java
  • GCC编译选项笔记

    警告选项

    • -Wall:开启大多数的警告信息
    • -Wextra:开启额外的警告信息,比如参数未使用警告(-Wunused-parameter)
    • -Werror:将警告当作错误,中断编译

    优化选项

    • -O,-O1:在不影响编译速度的前提下,尽量采用一些优化算法降低代码大小和可执行代码的运行速度
    • -O2:该优化选项会牺牲部分编译速度,除了执行-O1所执行的所有优化之外,还会采用几乎所有的目标配置支持的优化算法,用以提高目标代码的运行速度
    • -O3:该选项除了执行-O2所有的优化选项之外,一般都是采取很多向量化算法,提高代码的并行执行程度,利用现代CPU中的流水线,Cache等
    • -Og:该标识会精心挑选部分与-g选项不冲突的优化选项,当然就能提供合理的优化水平,同时产生较好的可调试信息和对语言标准的遵循程度

    调试选项

    • -g:在可执行文件中保留调试信息,调试符号位于与代码/数据部分完全不同的部分中,这些部分不会在运行时加载,因此不会造成任何性能损失

    符号可见性(链接选项)

    • -fvisibility=hidden:默认隐藏所有符号,再手动选择哪些函数对于链接到库的用户是可见的,并通过用可见属性标记它们使它们可见__attribute__((visibility("default")))
    • -rdynamic:通知链接器将符号添加到动态符号表中,目的是能够通过使用 dlopen 来实现向后跟踪
  • 相关阅读:
    全排列生成算法
    Jekyll + Github 搭建属于你的静态博客
    Merge k Sorted Lists
    Manacher's algorithm
    ADWORLD web/warmup
    数据结构/chap1 &chap2/选择判断/复习
    数据结构/PTA-两个有序链表序列的交集/链表
    数据结构/PTA-符号配对/栈
    数据结构/PTA-列车调度/栈/数组
    数据结构/PTA-堆栈操作合法性/数组/
  • 原文地址:https://www.cnblogs.com/HachikoT/p/13436934.html
Copyright © 2011-2022 走看看