"#pragma comment"是什么意思?

use*_*729 164 c++ macros pragma visual-c++

#pragma comment以下是什么意思?

#pragma comment(lib, "kernel32")
#pragma comment(lib, "user32")
Run Code Online (Sandbox Code Playgroud)

Kea*_*eks 177

#pragma comment是一个编译器指令,它指示Visual C++在生成的目标文件中留下注释.然后,链接器在处理目标文件时可以读取注释.

#pragma comment(lib, libname) 告诉链接器将"libname"库添加到库依赖项列表中,就好像已将其添加到项目属性中一样 Linker->Input->Additional dependencies

请参阅MSDN上的#pragma评论

  • 是仅 MSVC 还是 GCC/Intel Compiler/Clang 有类似的东西?是否可以选择添加文件夹路径(如“链接器 -> 常规 -> 附加库目录”)? (3认同)

Jus*_*Boo 6

我一直称它们为“编译器指令”。它们指示编译器在编译阶段执行某些操作、分支(包括如上所示的库、禁用特定错误等)。

编译器公司通常会创建自己的扩展来促进其功能。例如,(我相信)微软启动了“#pragma Once”交易,并且仅适用于微软产品,现在我不太确定。

Pragma Directives它在您将看到的表中包含“#pragma comment”。

华泰

例如,我怀疑 GCC 有自己的一套 #pragma。

  • 你误解了这个问题。他没有问 pragma 是什么,也没有将它们称为注释而不是指令。他具体询问“#pragma comment”是什么意思。 (7认同)
  • 这里很尴尬,它实际上是链接器的指令。 (3认同)
  • 不,它仍然是一个编译器指令。它告诉编译器留下注释,以便链接器包含该库。 (3认同)