#pragma once和#pragma comment的含义
来源:互联网 发布:矩阵的列空间基底 编辑:程序博客网 时间:2024/04/30 14:11
转自:http://dev.firnow.com/course/3_program/c++/cppjs/20090403/163716.html
在编写程序的时候,我们经常要用到#pragma指令来设定编译器的状态或者是指示编译器完成一些特定的动作。
下面介绍了#pragma once 和#pragma comment这两个常用指令。
#pragma once :
这是一个比较常用的指令,只要在头文件的最开始加入这条指令就能够保证头文件被编译一次,避免文件被重复包含。
#pragma comment :
该指令的格式为:
#pragma comment( "comment-type" [, commentstring] )
该指令将一个注释记录放入一个对象文件或可执行文件中。
comment-type(注释类型):可以指定为五种预定义的标识符的其中一种。
五种预定义的标识符为:
1、compiler:
将编译器的版本号和名称放入目标文件中,本条注释记录将被编译器忽略。
如果你为该记录类型提供了commentstring参数,编译器将会产生一个警告。
例如:#pragma comment( compiler )
2、exestr:
将commentstring参数放入目标文件中,在链接的时候这个字符串将被放入到可执行文件中。
当操作系统加载可执行文件的时候,该参数字符串不会被加载到内存中.但是,该字符串可以被dumpbin之类的程序查找出并打印出来,你可以用这个标识符将版本号码之类的信息嵌入到可执行文件中!
3、lib:
这是一个非常常用的关键字,用来将一个库文件链接到目标文件中。
常用的lib关键字,可以帮我们连入一个库文件。
例如: #pragma comment(lib, "user32.lib")
该指令用来将user32.lib库文件加入到本工程中。
4、linker:
将一个链接选项放入目标文件中,你可以使用这个指令来代替由命令行传入的或者在开发环境中设置的链接选项,你可以指定/include选项来强制包含某个对象。
例如:
#pragma comment(linker, "/include:__mySymbol")
你可以在程序中设置下列链接选项
/DEFAULTLIB
/EXPORT
/INCLUDE
/MERGE
/SECTION
这些选项在这里就不一一说明了,详细信息请看msdn!
5、user:
将一般的注释信息放入目标文件中,commentstring参数包含注释的文本信息,这个注释记录将被链接器忽略。
例如:
#pragma comment( user, "Compiled on " __DATE__ " at " __TIME__ )
- #pragma once和#pragma comment的含义
- #pragma once和#pragma comment的含义
- #pragma once和#pragma comment的含义
- #pragma once和#pragma comment
- [转]#pragma once和#pragma comment
- 预处理指令pragma常见用法集锦(#pragma once、#pragma comment和#pragma warning)
- #pragma pack(结构体对齐的具体含义) 和#pragma once与 #ifndef的区别
- #pragma once的用法及含义
- #pragma once 与 #ifndef含义
- #pragma once和#ifndef
- #pragma once 和 #ifndef
- ifndef 和pragma once
- #pragma once和#ifndef
- #pragma comment 的使用方法
- pragma comment的使用
- pragma comment的用法
- pragma comment的使用
- pragma comment的使用
- 234
- 以太网更改MAC地址后 eth0变化问题解决
- 四大商业智能(BI)厂商优劣分析
- PHP ODBC 数据库链接函数库
- C# 怎么调用存储过程 经典写法
- #pragma once和#pragma comment的含义
- 在Oracle中写出性能优良的SQL语句
- java中Keytool的使用总结
- Luke安装与使用
- System.Data.OracleClient.OracleException: ORA-00979: not a GROUP BY expression
- 开始
- How to solve performance issue while inquiring material transaction distribution?
- 请一定要对自己负责
- 使用CTabCtrl控件实现属性页功能