component
pragma
控制对源文件中的浏览信息或依赖项信息的收集。
语法
#pragma component( browser,
{on
|off
} [ [,
references
,
name ] ])
#pragma component( minrebuild,
{on
|off
})
#pragma component( mintypeinfo,
{on
|off
})
备注
浏览者
您可以打开或关闭收集,也可以指定在收集信息时忽略特定名称。
使用打开或关闭来控制对之前的 pragma 中的浏览信息的收集。 例如:
#pragma component(browser, off)
停止编译器收集浏览信息。
注意
若要打开对带此 pragma 的浏览信息的收集,则必须先启用浏览信息。
可以在有或没有 name 自变量的情况下使用 references 选项references
。 在不带 name 的情况下使用 references
来打开或关闭对引用的收集(但会继续收集其他浏览信息)。 例如:
#pragma component(browser, off, references)
停止编译器收集引用信息。
将 references
与 name 和 一起使用可防止对 name 的引用出现在浏览信息窗口中off
。 使用此语法可忽略您不感兴趣的名称和类型,并减小浏览信息文件的大小。 例如:
#pragma component(browser, off, references, DWORD)
从那时起忽略对 DWORD 的引用。 可以使用 on
重新打开对 DWORD 的引用收集:
#pragma component(browser, on, references, DWORD)
这是恢复对 name 的引用的收集的唯一方式;必须显式打开已关闭的任何 name。
若要防止预处理器扩展 name(如将 NULL 扩展到 0),请用引号将其引起来:
#pragma component(browser, off, references, "NULL")
最小重新生成
已弃用的 /Gm
(启用最小重新生成) 功能要求编译器创建和存储占用磁盘空间的 C++ 类依赖项信息。 为了节省磁盘空间,可以在不需要收集依赖关系信息时使用 #pragma component( minrebuild, off )
(例如,在不变的头文件中)。 在未更改类后插入 #pragma component( minrebuild, on )
以重新启用依赖项收集。
减少类型信息
mintypeinfo
选项将减少指定区域的调试信息。 此信息的量相当大,会影响 .pdb 和 .obj 文件。 不能在 mintypeinfo
区域中调试类和结构。 使用 mintypeinfo
选项有助于避免以下警告:
LINK : warning LNK4018: too many type indexes in PDB "filename", discarding subsequent type information
有关详细信息,请参阅 /Gm
(启用最小重新生成)编译器选项。