與win32一樣醜陋微軟編譯器通過使用宏,它確實具有明確你想要導出或不導出的好處。不與共享庫共享所有類
移動相同的代碼到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
{
...
}
甚至沒有符號定義只能在cpp文件仍然可以訪問,但?我想我可以在自己的頭文件中'模擬'一個聲明來訪問它們,即使它不是DLL作者的意圖。 – 2009-10-28 16:38:02
@Matthieu:在這種情況下,你搞砸了,而不是圖書館的作者。在一個擁有優秀人才的經營良好的商店裏,不能也不應該這樣做? – 2009-10-28 16:49:45
@David Thornley:評論中的第二句話是寶石! – 2010-02-03 15:43:07