首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

小弟我想问一下

2012-03-13 
我想问一下classab{....};这里面a是宏定义,b是类名,这样的句子有什么用啊?[解决办法]class a b{....};这里

我想问一下
class   a   b{....};这里面a是宏定义,b是类名,这样的句子有什么用啊?

[解决办法]
class a b{....};这里面a是宏定义,b是类名,这样的句子有什么用啊?
===>
以VC为例, 这里一般用在建立动态连接库(dll)时.
在dll内部, a有一种定义;
在其他使用该dll的程序中, a有另一种定义.


以你的ZFunc为例, 假设ZFunc是库zfun.dll提供的类,
则在zfun.h中可能定义PLANNING_API如下:

#if defined(PLANNING_DLL_EXPORTS)
#define PLANNING_API __declspec(dllexport)
#else
#define PLANNING_API __declspec(dllimport)
#endif

在建立zfun.dll时, 定义宏PLANNING_DLL_EXPORTS.
而在使用zfun.dll时, 不定义宏PLANNING_DLL_EXPORTS.

这样同一个头文件zfun.h既可以提供给zfun.dll创建时用,
又可以提供给其他调用zfun.dll的的程序使用.

至于__declspec(dllexport) / __declspec(dllimport), 以及与dll有关
的知识, 自己google以下, 或者查msdn吧.:)

热点排行