【发布时间】:2010-12-10 22:03:00
【问题描述】:
虽然微软的 win32 编译器使用 __declspec 宏很难看,但它确实具有明确说明您要导出或不导出的内容的优点。
将相同的代码移动到 Linux gnu/gcc 系统现在意味着所有类都被导出!(?)
这是真的吗?
有没有办法不在 gcc 下的共享库中导出类?
#ifndef WIN32
#define __IMPEXP__
#else
#undef __IMPEXP__
#ifdef __BUILDING_PULSETRACKER__
#define __IMPEXP__ __declspec(dllexport)
#else
#define __IMPEXP__ __declspec(dllimport)
#endif // __BUILDING_PULSETRACKER__
#endif // _WIN32
class __IMPEXP__ MyClass
{
...
}
【问题讨论】:
标签: c++ linux gcc g++ shared-libraries