Using __declspec( dllexport )
Using __declspec( dllexport )
嗨,我与dllexport混淆了。
#define DllExport __declspec( dllexport )
class DllExport C {
int i;
virtual int func( void ) { return 1; }
};
我是将C类导出到DLL文件还是从DLL文件导出C类?
在编译DLL时,您必须像您一样编写__declspec(dllexport)
。这告诉您希望将其导出的编译器。使用DLL时,您需要在随附的文件中使用__declspec(dllimport)
。然后,编译器知道此功能和类位于DLL文件中,需要导入。因为您不想更改标头文件,所以您应该定义一个宏观。BUILD_DLL
。
#ifdef BUILD_DLL
#define DLL_PORTING __declspec(dllexport)
#else
#define DLL_PORTING __declspec(dllimport)
#endif
现在您在示例中写下:
class DLL_PORTING example_class { … };
在您的.exe文件中,只需包含您需要的标头文件,一切都可以。
相关文章:
- DLL:当 SDK 头文件不使用 __declspec(dllexport) 时,我可以使用它吗
- DLLexport 类模板实例(专用化),减少了仅标头模板库的编译时间
- Clang 是否可以在使用可见性属性时生成导入库(不带 __declspec(dllexport))?
- 为什么MSVC(Visual C++)需要单独的dllimport和dllexport属性,而gcc不需要
- 使用 dllimport 代替 dllexport
- 如何在结构定义中组合__attribute__((dllexport))和[[nodiscard]]?
- C ++:DECLSPEC,静态库和DLL
- VC 链接器错误使用Dllimport/DLLEXPORT宏将标题包括在多个项目中
- 如何使用ctypes将类对象从c ++(DllExport)返回到python,反之亦然
- 使用 dllexport 传递 std::string
- Using __declspec( dllexport )
- 'ShowSUM':__declspec(dllexport)不能应用于具有__clrcall调用约定的函数
- 如何基于每个成员覆盖类范围的__declspec(dllexport)注释?
- 使用__declspec(dllexport)从DLL导出函数
- C++ [[gnu::visibility( "default" )]] vs __declspec(dllexport) on Windows 和 Linux
- 尽管使用了正确的dllExport-Visual Studio,但没有函数导出到DLL中
- 是否可以在程序集中编写dllexport(然后是dllimport)函数
- Inline and dlimport/dllexport
- C#:Cdecl-DllExport,参数中有一个指向类实例的指针
- 当在导入函数之前添加__declspec(dllexport)时,它会做什么