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

    摘自:http://blog.csdn.net/oscar999/article/details/2495030

    -o 设定输出文件名
    -c 只编译,不连接.
    -E 只做预编译.
    -pipe 在多个编译过程之间使用管道.
    --version 显示版本.
    -static 静态连接.
    -ansi C 模式下支持所有 ISO C90 标准的 C 程序, C++ 模式下去除对 GNU C++ 扩展的支持(GNU扩展会与 ISO C++ 冲突)
    -std= 确定编译语言的标准,目前只在编译 C 和 C++ 时有效 -fno-asm 不将 "asm" "inline" "typeof" 作为关键字,可以用他们做变量名等. -funsigned-char 将"char"的数据类型设为"unsigned",即无符号.
    -fsigned-char 正好相反,将"char"设为"signed".
    -fsyntax-only 只检查语法错误,不做其他任何事.
    -pedantic 显示所有的 ISO C 和 ISO C++ 的警告,并且拒绝所有使用禁止扩展的程序
    -Wall 显示所有警告
    -g 将编译时的调试信息保存到本地文件中( stabs,COFF,XCOFF,DWARF)
    -ggdb 为 GDB 产生调试信息,包含 GDB 的扩展.
    -ggdb(level) 设定产生何种等级的调试信息, level 为 1-3, 1 最少,3 最多.
    -ftime-reprot 统计编译消耗的时间并显示报告.
    -fmem-report 显示所有的静态内存分配.
    -ftest-coverages 为 gcov工具产生数据文件.
    gcc 编译选项,翻译出来用起来方便.

    VC编译选项(转载)- -
    Tag: 编程                                          
    /***********************************************************************************************/
    VC编译选项 csdnb3a [原作]

    关键字 VC编译选项 出处
    -优化-
    /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

    -代码生成-
    /G3 为 80386 进行优化 optimize for 80386
    /G4 为 80486 进行优化 optimize for 80486
    /GR[-] 启用 C++ RTTI enable C++ RTTI
    /G5 为 Pentium 进行优化 optimize for Pentium
    /G6 为 Pentium Pro 进行优化 optimize for Pentium Pro
    /GX[-] 启用 C++ 异常处理(与 /EHsc 相同) enable C++ EH (same as /EHsc)
    /EHs 启用同步 C++ 异常处理 enable synchronous C++ EH
    /GD 为 Windows DLL 进行优化 optimize for Windows DLL
    /GB 为混合模型进行优化(默认) optimize for blended model (default)
    /EHa 启用异步 C++ 异常处理 enable asynchronous C++ EH
    /Gd __cdecl 调用约定 __cdecl calling convention
    /EHc extern“C”默认为 nothrow extern "C" defaults to nothrow
    /Gr __fastcall 调用约定 __fastcall calling convention
    /Gi[-] 启用增量编译 enable incremental compilation
    /Gz __stdcall 调用约定 __stdcall calling convention
    /Gm[-] 启用最小重新生成 enable minimal rebuild
    /GA 为 Windows 应用程序进行优化 optimize for Windows Application
    /Gf 启用字符串池 enable string pooling
    /QIfdiv[-] 启用 Pentium FDIV 修复 enable Pentium FDIV fix
    /GF 启用只读字符串池 enable read-only string pooling
    /QI0f[-] 启用 Pentium 0x0f 修复 enable Pentium 0x0f fix
    /Gy 分隔链接器函数 separate functions for linker
    /GZ 启用运行时调试检查 enable runtime debug checks
    /Gh 启用钩子函数调用 enable hook function call
    /Ge 对所有函数强制堆栈检查 force stack checking for all funcs
    /Gs[num] 禁用堆栈检查调用 disable stack checking calls

    -输出文件-
    /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]

  • 相关阅读:
    Docker运行python容器
    SharePoint Online 创建门户网站系列之定制栏目
    SharePoint Online 创建门户网站系列之创建栏目
    SharePoint Online 创建门户网站系列之图片滚动
    SharePoint Online 创建门户网站系列之导航
    SharePoint Online 创建门户网站系列之首页布局
    SharePoint Online 创建门户网站系列之母版页
    SharePoint Online 创建门户网站系列之准备篇
    SharePoint 2013 数据库中手动更新用户信息
    SharePoint 2013 新建项目字段自动加载上次保存值
  • 原文地址:https://www.cnblogs.com/CodeWorkerLiMing/p/12007779.html
Copyright © 2011-2022 走看看