我在书上看到些关于vc编译器的问题,但不知道怎么操作,故求救各位
如:
/Gf和/GF编译器开关
链接程序中的/BASE:address链接程序开关等能不能给我介绍一些比较全面的资料,谢谢

解决方案 »

  1.   

    在Project-Settings-Link选项卡最下面的那个框里。
    比如/subsystem:windows表示这是windows窗口程序;而:/subsystem:console表示是控制台程序。下面是一个完整的按字母顺序的编译器选项列表。
    要得到按类别排序的列表,请参见按类别列出的编译器选项。选项 目的 
    @ 指定响应文件 
    /? 列出编译器选项 
    /AI 指定在解析传递到 #using 指令的文件引用时搜索的目录 
    /arch 使用 SSE 或 SSE2 指令生成代码 
    /C 在预处理期间保留注释 
    /c 编译但不链接 
    /clr 启用 C++ 的托管扩展并产生在公共语言运行库上运行的输出文件 
    /D 定义常数和宏 
    /E 将预处理器输出复制到标准输出 
    /EH 指定异常处理模型 
    /EP 将预处理器输出复制到标准输出 
    /F  设置堆栈大小 
    /FA 创建列表文件 
    /Fa 设置列表文件名 
    /Fd 重命名程序数据库文件 
    /Fe 重命名可执行文件 
    /FI 预处理指定的包含文件 
    /Fm 创建映射文件 
    /Fo 创建对象文件 
    /Fp 指定预编译头文件名 
    /FR
    /Fr 生成浏览器文件 
    /FU 强制使用文件名,就像它已被传递到 #using 指令一样 
    /Fx 将插入的代码与源文件合并 
    /G3 优化代码以优选 386 处理器。在 Visual C++ 5.0 中已经停用,编译器将忽略此选项 
    /G4 优化代码以优选 486 处理器。在 Visual C++ 5.0 中已经停用,编译器将忽略此选项 
    /G5 优化代码以优选 Pentium 处理器 
    /G6 优化代码以优选 Pentium Pro、Pentium II 和 Pentium III 处理器 
    /G7 针对 Pentium 4 或 Athlon 优化代码。 
    /GA 优化 Windows 应用程序的代码 
    /GB 与 /G6 等效;将 _M_IX86 的值设置为 600 
    /Gd 使用 __cdecl 调用约定 
    /Ge 激活堆栈探测 
    /GF
    /Gf 启用字符串池 
    /GH 调用挂钩函数 _pexit 
    /Gh 调用挂钩函数 _penter 
    /GL 启用全程序优化 
    /Gm 启用最小重新生成 
    /GR 启用运行时类型信息 (RTTI) 
    /Gr 使用 __fastcall 调用约定 
    /GS 缓冲区安全检查 
    /Gs 控制堆栈探测 
    /GT 支持使用静态线程本地存储区分配的数据的纤程安全 
    /GX 启用同步异常处理 
    /Gy 启用函数级链接 
    /GZ 与 /RTC1 相同 
    /Gz 使用 __stdcall 调用约定 
    /H 限制外部(公共)名称的长度 
    /HELP 列出编译器选项 
    /I 在目录中搜索包含文件 
    /J 更改默认的 char 类型 
    /LD 创建动态链接库 
    /LDd 创建调试动态链接库 
    /link 将指定的选项传递给 LINK 
    /MD 使用 MSVCRT.lib 创建多线程 DLL 
    /MDd 使用 MSVCRTD.lib 创建调试多线程 DLL 
    /ML 使用 LIBC.lib 创建单线程可执行文件 
    /MLd 使用 LIBCD.lib 创建调试单线程可执行文件 
    /MT 使用 LIBCMT.lib 创建多线程可执行文件 
    /MTd 使用 LIBCMTD.lib 创建调试多线程可执行文件 
    /nologo 取消显示登录版权标志 
    /O1 创建小代码 
    /O2 创建快速代码 
    /Oa 假设没有别名 
    /Ob 控制内联展开 
    /Od 禁用优化 
    /Og 使用全局优化 
    /Oi 生成内部函数 
    /Op 改善浮点数一致性 
    /Os 代码大小优先 
    /Ot 代码速度优先 
    /Ow 假定在函数调用中使用别名 
    /Ox 使用最大优化 (/Ob2gity /Gs) 
    /Oy 省略框架指针 
    /QI0f 执行 Pentium 0x0f 错误修复 
    /QIfdiv 执行 Pentium FDIV 错误修复 
    /QIfist 当需要从浮点类型转换为整型时取消 _ftol 
    /P 将预处理器输出写入文件 
    /RTC 启用运行时错误检查 
    /showIncludes 在编译期间显示包含文件的列表 
    /Tc
    /TC 指定 C 源文件 
    /Tp
    /TP 指定 C++ 源文件 
    /U 移除预定义宏 
    /u 移除所有的预定义宏 
    /V 设置版本字符串 
    /vd 取消或启用隐藏的 vtordisp 类成员 
    /vmb 对指向成员的指针使用最佳的基 
    /vmg 对指向成员的指针使用完全一般性 
    /vmm 声明多重继承 
    /vms 声明单一继承 
    /vmv 声明虚拟继承 
    /W 设置警告等级 
    /w 禁用所有警告 
    /Wall 启用所有警告,包括默认情况下禁用的警告 
    /WL 在从命令行编译 C++ 源代码时启用错误信息和警告消息的单行诊断 
    /Wp64 检测 64 位可移植性问题 
    /X 忽略标准包含目录 
    /Y- 忽略当前生成中的所有其他预编译头编译器选项 
    /Yc 创建预编译头文件 
    /Yd 将完整的调试信息放在所有对象文件中 
    /Yl 创建调试库时插入 PCH 引用 
    /Yu 在生成期间使用预编译头文件 
    /YX 自动处理预编译头 
    /Z7 生成与 C 7.0 兼容的调试信息 
    /Za 禁用语言扩展 
    /Zc 在 /Ze 下指定标准行为 
    /Zd 生成行号 
    /Ze 启用语言扩展 
    /Zg 生成函数原型 
    /ZI 将调试信息包含在与“编辑并继续”兼容的程序数据库中 
    /Zi 生成完整的调试信息 
    /Zl 从 .obj 文件中移除默认库名 
    /Zm 指定预编译头内存分配限制 
    /Zp 封装结构成员 
    /Zs 只检查语法 
      

  2.   

    还有一些在:Project-Settings-C/C++ 选项卡最下面的那个框里。