comment pragma

将注释记录置于对象文件或可执行文件中。

语法

#pragma comment(comment-type [ , "comment-string" ] )

注解

comment-type 是一个预定义的标识符(如下所述),它指定了注释记录的类型。 可选 comment-string 是一个字符串字面量,它提供了某些注释类型的附加信息。 由于 comment-string 是一个字符串字面量,因此它遵循有关转义字符、嵌入的引号 (") 和串联的字符串字面量的所有使用规则

compiler

将编译器的名称和版本号置于对象文件中。 此注释记录将被链接器忽略。 如果为此记录类型提供 comment-string 参数,则编译器会生成警告

lib

将库搜索记录置于对象文件中。 此注释类型必须带有包含你希望链接器搜索的库的名称(和可能的路径)的 comment-string 参数。 库名称遵循对象文件中的默认库搜索记录。 链接器搜索此库的方式与在命令行中指定该库的方式相同,前提是没有使用 /nodefaultlib 指定该库。 可以将多个库搜索记录置于同一源文件中。 所有记录将以其在源文件中的显示顺序出现在对象模块中。

如果默认库和添加的库的顺序很重要,则使用 /Zl 开关进行编译会阻止将默认库名称置于对象模块中。 然后,可使用另一个注释 pragma 在添加的库的后面插入默认库的名称。 与这些 pragma 指令一起列出的库将以其在源代码中的显示顺序出现在对象模块中。

链接器

链接器选项置于对象文件中。 可以使用注释类型来指定链接器选项,而不是将其传递到命令行或在开发环境中指定它。 例如,可以指定 /include 选项来强制包含符号:

#pragma comment(linker, "/include:__mySymbol")

仅以下 (comment-type) 链接器选项可传递给链接器标识符

user

将一般注释置于对象文件中。 comment-string 参数包含注释文本。 此注释记录将被链接器忽略。

示例

以下 pragma 会促使链接器在链接时搜索 EMAPI.LIB 库。 链接器首先在当前工作目录中搜索,然后在 LIB 环境变量指定的路径中搜索。

#pragma comment( lib, "emapi" )

以下 pragma 会促使编译器将其名称和版本号置于对象文件中:

#pragma comment( compiler )

对于接受 comment-string 参数的注释,可以在使用字符串字面量的任何位置使用宏,前提是该宏扩展到字符串字面量。 您还可以字符串与扩展到字符串的宏的任意组合串联在一起。 例如,以下语句是可接受的:

#pragma comment( user, "Compiled on " __DATE__ " at " __TIME__ )

另请参阅

Pragma 指令以及 __pragma_Pragma 关键字