2010-04-21 78 views
2

是什么意思,当一个类被声明如下:CP_EXPORT在C级声明++

class CP_EXPORT CP_Window : public CP_Window_Imp 

什么是CP_EXPORT部分意味着/暗示?

回答

3

CP_EXPORT很可能是一个有条件地从动态库中导出或导入类的宏。

例如,使用Visual C++时,使用宏来有条件地选择使用dllexport and dllimport。这允许相同的头文件用于构建DLL本身的项目以及任何链接或加载DLL的项目。

+0

@James - 那么,在这种情况下,公共CP_Window_Imp是否意味着CP_Window基于公共CP_Window_Imp? – MLS 2010-04-22 00:02:02

+0

@ML:这意味着'CP_Window'从基类'CP_Window_Imp'公开派生。它与任何其他C++继承没有区别。 – 2010-04-22 00:03:33

2

你使用的是C-Pluff

定义:

#define  CP_EXPORT 
    Declares a symbol to be exported for inter-module usage. 
#define  CP_IMPORT 
    Declares a symbol to be imported from another module. 
#define  CP_HIDDEN 
    Declares a symbol hidden from other modules. 
+0

我以为C-Pluff是一个C框架,不知道类如何适应它(除非它上面有一些C++层)... – 2010-04-22 00:02:24

1

CP_EXPORT是扩展为做了一些具体的编译器的特殊结构(可能在MSVC __declspec__attribute__在GCC)的宏。要找出究竟是什么,您需要搜索CP_EXPORT宏的定义