我已經創建了兩個靜態庫和EXE文件(使用靜態庫),但是當我在IDA開拓EXE親,出口都在EXE上市以及。EXE出口靜態庫出口以及
我知道自己應該在的.lib本身出口,但他們爲什麼顯示爲在EXE過出口?
編輯:這是一個以出口/進口(他們是在單獨的頭文件)
這裏是出口:
#define NC_LIBEXPORT(a) extern "C" __declspec(dllexport) a __cdecl
NC_LIBEXPORT(VOID) rol8(unsigned char* a, unsigned char b);
和進口:
extern "C" VOID rol8(unsigned char* a, unsigned char b);
它不來自頭文件,該屬性被附加到在的.lib內的obj文件標識符。您將不得不構建.lib的特殊版本,以防止應用__declspec。不太確定,如果你還將.lib鏈接到一個DLL中,這是值得的,它不像任何代碼實際上將使用導出。 –
@Hans是的,我只是慢了一點。通過構建測試項目! –
謝謝@HansPassant:]那就做到了!沒有意識到靜態庫不需要'dllexport':]對於這個項目來說,兩個靜態庫對我來說很好。只是一個宏觀編輯。 – Qix