g++/gcc compile_options
g++/gcc compile_options
文章目录
- 常用:
- 优化
- 代码生成
- 输出文件
- 预处理器
- 语言
- 杂项
- 链接
常用:
-Ddef=1 定义#define def=1
-Udef 定义#undef def
-g 生成调试信息
-Idir 添加头文件的寻找目录dir
-Ldir 添加库文件的寻找目录dir
-ltest 添加库libtest.a
-m486 针对 486 进行代码优化
-o name输出文件名
-Os/1/2/3/s 代码优化
-share /-static 动态静态编译
-w不生成警告信息
-Wall生成所有警告信息
-fvisibility=hidden
-fPIC 编译动态库时,要求产生与位置无关代码(Position-Independent Code)
-m32/64/x32
优化
-O1 最小化空间 minimize space
-Op[-] 改善浮点数一致性 improve floating-pt consistency
-O2 最大化速度 maximize speed
-Os 优选代码空间 favor code space
-Oa 假设没有别名 assume no aliasing
-Ot 优选代码速度 favor code speed
-Ob 内联展开(默认 n=0) inline expansion (default n=0)
-Ow 假设交叉函数别名 assume cross-function aliasing
-Od 禁用优化(默认值) disable optimizations (default)
-Ox 最大化选项。(-Ogityb2 -Gs) maximum opts. (-Ogityb1 -Gs)
-Og 启用全局优化 enable global optimization
-Oy[-] 启用框架指针省略 enable frame pointer omission
-Oi 启用内建函数 enable intrinsic functions
代码生成
-O1 最小化空间 minimize space
-Op[-] 改善浮点数一致性 improve floating-pt consistency
-O2 最大化速度 maximize speed
-Os 优选代码空间 favor code space
-Oa 假设没有别名 assume no aliasing
-Ot 优选代码速度 favor code speed
-Ob 内联展开(默认 n=0) inline expansion (default n=0)
-Ow 假设交叉函数别名 assume cross-function aliasing
-Od 禁用优化(默认值) disable optimizations (default)
-Ox 最大化选项。(-Ogityb2 -Gs) maximum opts. (-Ogityb1 -Gs)
-Og 启用全局优化 enable global optimization
-Oy[-] 启用框架指针省略 enable frame pointer omission
-Oi 启用内建函数 enable intrinsic functions
输出文件
-Fa[file] 命名程序集列表文件 name assembly listing file
-Fo 命名对象文件 name object file
-FA[sc] 配置程序集列表 configure assembly listing
-Fp 命名预编译头文件 name precompiled header file
-Fd[file] 命名 .PDB 文件 name .PDB file
-Fr[file] 命名源浏览器文件 name source browser file
-Fe 命名可执行文件 name executable file
-FR[file] 命名扩展 .SBR 文件 name extended .SBR file
-Fm[file] 命名映射文件 name map file
预处理器
-FI 命名强制包含文件 name forced include file
-C 不吸取注释 don’t strip comments
-U 移除预定义宏 remove predefined macro
-D{=|#} 定义宏 define macro
-u 移除所有预定义宏 remove all predefined macros
-E 将预处理定向到标准输出 preprocess to stdout
-I 添加到包含文件的搜索路径 add to include search path
-EP 将预处理定向到标准输出,不要带行号 preprocess to stdout, no #line
-X 忽略“标准位置” ignore “standard places”
-P 预处理到文件 preprocess to file
语言
-Zi 启用调试信息 enable debugging information
-Zl 忽略 .OBJ 中的默认库名 omit default library name in .OBJ
-ZI 启用调试信息的“编辑并继续”功能 enable Edit and Continue debug info
-Zg 生成函数原型 generate function prototypes
-Z7 启用旧式调试信息 enable old-style debug info
-Zs 只进行语法检查 syntax check only
-Zd 仅要行号调试信息 line number debugging info only
-vd{0|1} 禁用-启用 vtordisp disable-enable vtordisp
-Zp[n] 在 n 字节边界上包装结构 pack structs on n-byte boundary
-vm 指向成员的指针类型 type of pointers to members
-Za 禁用扩展(暗指 -Op) disable extensions (implies -Op)
-noBool 禁用“bool”关键字 disable “bool” keyword
-Ze 启用扩展(默认) enable extensions (default)
杂项
-?, -help 打印此帮助消息 print this help message
-c 只编译,不链接 compile only, no link
-W 设置警告等级(默认 n=1) set warning level (default n=1)
-H 最大化外部名称长度 max external name length
-J 默认 char 类型是 unsigned default char type is unsigned
-nologo 取消显示版权消息 suppress copyright message
-WX 将警告视为错误 treat warnings as errors
-Tc 将文件编译为 .c compile file as .c
-Yc[file] 创建 .PCH 文件 create .PCH file
-Tp 将文件编译为 .cpp compile file as .cpp
-Yd 将调试信息放在每个 .OBJ 中 put debug info in every .OBJ
-TC 将所有文件编译为 .c compile all files as .c
-TP 将所有文件编译为 .cpp compile all files as .cpp
-Yu[file] 使用 .PCH 文件 use .PCH file
-V 设置版本字符串 set version string
-YX[file] 自动的 .PCH 文件 automatic .PCH
-w 禁用所有警告 disable all warnings
-Zm 最大内存分配(默认为 %) max memory alloc (% of default)
链接
-MD 与 MSVCRT.LIB 链接 link with MSVCRT.LIB
-MDd 与 MSVCRTD.LIB 调试库链接 link with MSVCRTD.LIB debug lib
-ML 与 LIBC.LIB 链接 link with LIBC.LIB
-MLd 与 LIBCD.LIB 调试库链接 link with LIBCD.LIB debug lib
-MT 与 LIBCMT.LIB 链接 link with LIBCMT.LIB
-MTd 与 LIBCMTD.LIB 调试库链接 link with LIBCMTD.LIB debug lib
-LD 创建 .DLL Create .DLL
-F 设置堆栈大小 set stack size
-LDd 创建 .DLL 调试库 Create .DLL debug libary
-link [链接器选项和库] [linker options and libraries]
g++/gcc compile_options相关推荐
- linux g++ gcc编译c++哪个好,linux g++编译c++
单个源文件生成可执行程序 编译器 g++ 通过检查命令行中指定的文件的后缀名可识别其为 C++ 源代码文件.编译器默认的动作:编译源代码文件生成对象文件(object file),链接对象文件和 li ...
- Ubuntu的 g++ gcc版本升降级
更改gcc默认版本(gcc版本降级/升级) ### 以降级到gcc-6为例 >* sudo apt install gcc-6 g++-6 >* sudo update-alternati ...
- g++/gcc编译过程中遇到的问题
第一次写博客,用来记录一下编程过程中遇到的问题. 在学习leveldb的过程中遇到了一个编译问题,以前虽然碰到过,也解决了,但是没有总结和记录,导致再次出现,差点忘记怎么弄的了,所以以此记录一下. 一 ...
- win10查看g++/gcc版本
windows查看gcc/g++ 版本 cmd 命令行 gcc --version g++ --version Mingw-w64在win10下的安装使用
- 查看g++/gcc版本
windows查看gcc/g++ 版本 cmd 命令行 gcc --version g++ --version
- ACM提交,C++,G++,C,GCC的区别
今天做了一道水题,POJ-1004,水题一个,12个double类型的数求平均数 但是, 1 #include <iostream> 2 #include <cstdio> 3 ...
- gcc,cc,g++,CC的区别
***gcc是C编译器: ***g++是C++编译器: ***linux下cc一般是一个符号连接,指向gcc ***gcc说明 1.gcc编译常用格式: gcc C源文件 -o 目标文件 或 gcc ...
- 【Linux基础】CentOS 7环境下安装高版本GCC (gcc/g++ 9.3)
CentOS 7升级GCC 正文开始@Assassin 目录: CentOS 7升级GCC 基本执行步骤: 1. 切换用户: 2. 安装centos-release-scl: 3. 安装devtool ...
- g 最新编译器linux,Linux下安装gcc 、g++ 、gfortran编译器
一.ubuntu下gcc/g++/gfortran的安装 1.安装 (1).gcc ubuntu下自带gcc编译器.可以通过"gcc -v"命令来查看是否安装. (2).g++ 安 ...
最新文章
- 问卷星调查学生对《算法》教学的建议与反馈
- Lubuntu下小巧好用的Python编辑工具Geany
- c语言中结构体的用法
- Python Django 生成随机字符串UUID的使用示例
- java排序算法之冒泡排序
- Maven build中隐藏的SAP UI5 JavaScript merge任务
- JAVA复习5(TreeSet)
- win7域内桌面黑屏
- 软件外包业的崛起,掀起电脑培训热潮
- mycat php pdo,mycat程序写入和读取中文乱码解决
- Linux内核模块编程入门( 最简单的内核模块编程)
- 机器人潘森护盾_新版潘森无伤抗塔 E技能护盾机制全解析
- 质谱的工作原理及发展史
- python开头编码cc手_python的编码问题整理
- SpringBoot 集成 微信绑定 微信登录
- linux服务器定时执行python代码
- 生成对角矩阵 numpy.diag
- 机器学习笔记--PR曲线和ROC曲线
- Vue生命周期,Vue中在哪个生命周期阶段调用异步请求最佳
- CAS虚拟化平台Linux虚拟机安装vGPU显卡驱动并获取许可