CompilandDetails

编译单位信息在带有 SymTagCompiland 标记(较少细节)和 SymTagCompilandDetails(较多细节)标记的符号之间拆分。 SymTagCompilandDetails 提供了大量关于编译单位的信息,这是 SymTagCompiland 符号无法提供的。

属性

下表显示了对此符号类型有效的属性。

属性 数据类型 说明
IDiaSymbol::get_backEndBuild DWORD 编译器的后端生成号。
IDiaSymbol::get_backEndMajor DWORD 编译器的后端主版本号。
IDiaSymbol::get_backEndMinor DWORD 编译器的后端次要版本号。
IDiaSymbol::get_compilerName BSTR 生成此编译单位的编译器的名称(仅在 DIA SDK V8.0 或更高版本中)。
IDiaSymbol::get_editAndContinueEnabled BOOL 如果在编译时启用了“编辑并继续”,则为 TRUE
IDiaSymbol::get_frontEndBuild DWORD 编译器的前端生成号。
IDiaSymbol::get_frontEndMajor DWORD 编译器的前端主版本号。
IDiaSymbol::get_frontEndMinor DWORD 编译器的前端次要版本号。
IDiaSymbol::get_hasDebugInfo BOOL 如果此编译单位具有调试信息,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。
IDiaSymbol::get_hasManagedCode BOOL 如果此编译单位包含托管代码,则为 TRUE(仅在 DIA SDK v8.0 或更高版本中)。
IDiaSymbol::get_hasSecurityChecks BOOL 如果编译单位是用 /GS(缓冲区安全检查)编译器开关编译的,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。
IDiaSymbol::get_isCVTCIL BOOL 如果编译单位已从公共中间语言 (CIL) 代码转换为本机代码,则为 TRUE
IDiaSymbol::get_isDataAligned BOOL 如果用户定义类型 (UDT) 已与某些指定的内存边界对齐,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。
IDiaSymbol::get_isHotpatchable BOOL 如果编译单位是用 /hotpatch(创建可热修补的映像)编译器开关编译的,则为 TRUE(仅在 DIA SDK v8.0 或更高版本中)。
IDiaSymbol::get_isLTCG BOOL 如果编译单位是用 /LTCG(链接时间代码生成)编译器开关编译的,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。
IDiaSymbol::get_isMSILNetmodule BOOL 如果编译单位是 Microsoft 中间语言 (MSIL) 模块,则为 TRUE(仅在 DIA SDK v8.0 或更高版本中)。
IDiaSymbol::get_language DWORD 源代码语言。
IDiaSymbol::get_lexicalParent IDiaSymbol* 编译单位的符号。
IDiaSymbol::get_lexicalParentId DWORD 词法父级符号的 ID。
IDiaSymbol::get_platform DWORD 编译编译单位的平台(CV_CPU_TYPE_e Enumeration 值之一)。
IDiaSymbol::get_symIndexId DWORD 符号的索引 ID。
IDiaSymbol::get_symTag DWORD 返回 SymTagCompilandDetailsSymTagEnum Enumeration 值之一)。

备注

编译器通常以称为两遍编译器的形式提供;在某些编译器版本中,每遍都由单独的程序处理。 它们分别称为前端和后端编译器,因此是后端版本号和前端版本号的符号属性。

另请参阅