*DEFINE_GUID宏与#include 的使用
来源:互联网 发布:满堂脚手架计算软件 编辑:程序博客网 时间:2024/06/06 03:29
使用DEFINE_GUID宏可以让你通过包含同一个头文件来定义GUID值而不必使用extern关键词。比如,你的工程中有三个源文件:src1.cpp,src2.cpp,src3.cpp,它们都使用一个相同的GUID值,而为了保证一致性,这个GUID只能在你的工程中定义一次,这时,其它的源文件必须定义外部引用来使用它。用了DEFINE_GUID,你可以使用在所有源文件中包含同一个头文件,在头文件中这样定义GUID:
DEFINE_GUID(CLSID_MyObject,
0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00);
这个例子中GUID为0,实际编程中请用Guidgen工具来产生一个GUID,在其中的一个源文件中,在你的头文件前包含initguid.h,如:
// Src1.cpp
#include <Initguid.h>
#include "MyGuids.h"
// Src2.cpp
#include "MyGuids.h"
// Src3.cpp
#include "MyGuids.h"
在没有包含Initguid.h的地方,DEFINE_GUID宏创建外部引用来使用GUID值,在包含Initguid.h的地方,DEFINE_GUID重定义DEFINE_GUID宏以产生GUID的定义。
如是没有在任何地方添加Initguid.h,你会得到一个链接错误:"unresolved external symbol." ,如果同样的GUID包含Initguid.h两次,会得到编译错误"redefinition; multiple initialization."要解决这些问题,请确认Initguid.h只包含一次。同样的,不要包含Initguid.h到预编译头文件中去,因为预编译头文件会被每个源文件包含。
- *DEFINE_GUID宏与#include 的使用
- DEFINE_GUID使用引发的连接错误
- DEFINE_GUID宏是怎么工作的?
- DEFINE_GUID的作用
- DEFINE_GUID
- DEFINE_GUID
- DEFINE_GUID
- freemarker include与import的区别, 宏marco的使用
- JSP中使用Include与JSP:Include的区别
- JSP中使用Include与JSP:Include的区别
- JSP中使用Include与JSP:Include的区别
- #include命令, #include <>与#include ””的区别
- #include 使用冒号与尖括号的区别
- 样式与include标签的使用
- #include " "与#include <> 的区别
- include “” 与include <>的区别
- #include""与#include<>的区别
- include <>与#include ””的区别
- Coldfusion简单访问数据库例子
- 张爱玲十年最经典伤感语录
- 亦舒语录
- 懂了遗憾,就懂了人生
- 控制上下左右
- *DEFINE_GUID宏与#include 的使用
- ado.net的运用
- VC++中CMAP的使用
- 搭建CentOS yum 源服务器
- IE和Firefox在JavaScript方面的兼容性问题
- vc 加载各种后缀图片
- 几条常见的数据库分页 SQL 语句
- FTPWanderer代码中的3个Bug
- 一些鲜为人知的编程事实