<<MFC深入浅出>>(第二版)一书中关于运行时类型识别(RTTI)中的代码,提到编译时需选用/GR选项。小弟不知如何进行该项操作,恳请各位高手指点一二。谢谢!

解决方案 »

  1.   

    工程-》设置->c/c++-->project option
      

  2.   

    附:微软C/C++ 编译器选项 
     
    -优化- 
     
    /O1 
     最小化空间 
     
    /Op[-] 
     改善浮点数一致性 
     
    /O2 
     最大化速度 
     
    /Os 
     优选代码空间 
     
    /Oa 
     假设没有别名 
     
    /Ot 
     优选代码速度 
     
    /Ob<n> 
     内联展开(默认 n=0) 
     
    /Ow 
     假设交叉函数别名 
     
    /Od 
     禁用优化(默认值) 
     
    /Ox 
     最大化选项。(/Ogityb2 /Gs) 
     
    /Og 
     启用全局优化 
     
    /Oy[-] 
     启用框架指针省略 
     
    /Oi 
     启用内部函数 
     
    -代码生成- 
     
    /G3 
     为 80386 进行优化 
     
    /GH 
     启用 _pexit 函数调用 
     
    /G4 
     为 80486 进行优化 
     
    /GR[-] 
     启用 C++ RTTI 
     
    /G5 
     为 Pentium 进行优化 
     
    /GX[-] 
     启用 C++ EH(与 /EHsc 相同) 
     
    /G6 
     为 PPro、P-II、P-III 进行优化 
     
    /EHs 
     启用 C++ EH(无 SEH 异常) 
     
    /GB 
     为混合模型进行优化(默认) 
     
    /EHa 
     启用 C++ EH(w/ SEH 异常) 
     
    /Gd 
     __cdecl 调用约定 
     
    /EHc 
     外部“C”默认为 nothrow 
     
    /Gr 
     __fastcall 调用约定 
     
    /GT 
     生成纤维安全 TLS 访问 
     
    /Gz 
     __stdcall 调用约定 
     
    /Gm[-] 
     启用最小重新生成 
     
    /GA 
     为 Windows 应用程序进行优化 
     
    /GL[-] 
     启用链接时代码生成 
     
    /Gf 
     启用字符串池 
     
    /QIfdiv[-] 
     启用 Pentium FDIV 修复 
     
    /GF 
     启用只读字符串池  
     
    /QI0f[-] 
     启用 Pentium 0x0f 修复 
     
    /Gy 
     分隔链接器函数 
     
    /QIfist[-] 
     使用 FIST 而不是 ftol() 
     
    /GZ 
     启用堆栈检查 (/RTCs) 
     
    /RTC1 
     启用快速检查 (/RTCsu) 
     
    /Ge 
     对所有函数强制堆栈检查 
     
    /RTCc 
     转换为较小的类型检查 
     
    /Gs[num]              
     控制堆栈检查调用 
     
    /RTCs 
     堆栈帧运行时检查 
     
    /GS 
     启用安全检查 
     
    /RTCu 
     未初始化的本地用法检查 
     
    /Gh 
     启用 _penter 函数调用 
     
    /clr[:noAssembly] 
     为公共语言运行时库编译noAssembly - 不产生程序集 
     
    -输出文件- 
     
    /Fa[file]           
     命名程序集列表文件 
     
    /Fo<file> 
     命名对象文件 
     
    /FA[sc]                 
     配置程序集列表 
     
    /Fp<file> 
     命名预编译头文件 
     
    /Fd[file]            
     命名 .PDB 文件  
     
    /Fr[file] 
     命名源浏览器文件 
     
    /Fe<file> 
     命名可执行文件 
     
    /FR[file] 
     命名扩展 .SBR 文件 
     
    /Fm[file] 
     命名映射文件 
     
    -预处理器- 
     
    /AI<dir> 
     添加到程序集搜索路径 
     
    /Fx 
     将插入的代码合并到文件 
     
    /FU<file> 
     强制使用程序集/模块 
     
    /FI<file> 
     命名强制包含文件 
     
    /C 
     不抽出注释 
     
    /U<name> 
     移除预定义宏 
     
    /D<name>{=|#}<text> 
     定义宏 
     
    /u 
     移除所有预定义宏 
     
    /E 
     预处理到 stdout 
     
    /I<dir> 
     添加到包含搜索路径 
     
    /EP 
     预处理到 stdout,没有 #line 
     
    /X 
     忽略“标准位置” 
     
    /P 
     预处理到文件 
     
    -语言- 
     
    /Zi 
     启用调试信息 
     
    /Zl 
     忽略 .OBJ 中的默认库名 
     
    /ZI 
     启用“编辑并继续”调试信息  
     
    /Zg 
     生成函数原型 
     
    /Z7 
     启用旧式调试信息  
     
    /Zs 
     只进行语法检查 
     
    /Zd 
     仅有行号调试信息 
     
    /vd{0|1} 
     禁用/启用 vtordisp 
     
    /Zp[n]  
     在 n 字节边界上包装结构 
     
    /vm<x> 
     指向成员的指针类型 
     
    /Za 
     禁用扩展(暗指 /Op) 
     
    /noBool 
     禁用“bool”关键字 
     
    /Ze 
     启用扩展(默认) 
     
    /Zc:arg1[,arg2] 
     C++ 语言一致性,这里的参数可以是:forScope - 对范围规则强制使用标准 C++;wchar_t - wchar_t 是本机类型,不是 typedef 
     
    - 杂项 - 
     
    @<file> 
     选项响应文件 
     
    /wo<n> 
     发出一次警告 n 
     
    /?, /help 
     打印此帮助消息 
     
    /w<l><n> 
     为 n 设置警告等级 1-4 
     
    /c 
     只编译,不链接  
     
    /W<n> 
     设置警告等级(默认 n=1) 
     
    /H<num> 
     最大外部名称长度 
     
    /Wall 
     启用所有警告 
     
    /J 
     默认 char 类型是 unsigned 
     
    /Wp64 
     启用 64 位端口定位警告 
     
    /nologo 
     取消显示版权消息 
     
    /WX 
     将警告视为错误 
     
    /showIncludes 
     显示包含文件名 
     
    /WL 
     启用单行诊断 
     
    /Tc<source file> 
     将文件编译为 .c 
     
    /Yc[file] 
     创建 .PCH 文件 
     
    /Tp<source file> 
     将文件编译为 .cpp 
     
    /Yd 
     将调试信息放在每个 .OBJ 中 
     
    /TC 
     将所有文件编译为 .c 
     
    /Yl[sym] 
     为调试库插入 .PCH 引用 
     
    /TP 
     将所有文件编译为 .cpp 
     
    /Yu[file] 
     使用 .PCH 文件 
     
    /V<string> 
     设置版本字符串 
     
    /YX[file] 
     自动 .PCH 
     
    /w 
     禁用所有警告 
     
    /Y- 
     禁用所有 PCH 选项 
     
    /wd<n> 
     禁用警告 n 
     
    /Zm<n> 
     最大内存分配(默认为 %) 
     
    /we<n> 
     将警告 n 视为错误 
     
    -链接- 
     
    /MD 
     与 MSVCRT.LIB 链接 
     
    /MDd 
     与 MSVCRTD.LIB 调试库链接 
     
    /ML 
     与 LIBC.LIB 链接 
     
    /MLd 
     与 LIBCD.LIB 调试库链接 
     
    /MT 
     与 LIBCMT.LIB 链接 
     
    /MTd 
     与 LIBCMTD.LIB 调试库链接 
     
    /LD 
     创建 .DLL 
     
    /F<num> 
     设置堆栈大小 
     
    /LDd 
     创建 .DLL 调试库 
     
    /link 
     [链接器选项和库] 
     
      

  3.   

    jsphuang(浪人) :#pragma comment(linker,"/GR")这种方法我试了试,还是不行。