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]

  • 相关阅读:
    noi 2011 noi嘉年华 动态规划
    最小乘积生成树
    noi 2009 二叉查找树 动态规划
    noi 2010 超级钢琴 划分树
    noi 2011 阿狸的打字机 AC自动机
    noi 2009 变换序列 贪心
    poj 3659 Cell Phone Network 动态规划
    noi 2010 航空管制 贪心
    IDEA14下配置SVN
    在SpringMVC框架下建立Web项目时web.xml到底该写些什么呢?
  • 原文地址:https://www.cnblogs.com/CodeWorkerLiMing/p/12007780.html
Copyright © 2011-2022 走看看