當然有區別,__declspec(dllexport)用於匯出符號,也就是定義該函式的dll;__declspec(dllimport)用於匯入,也就是使用該函式。
因為這個標頭檔案既要被定義該函式的dll包含,也要被使用該函式的程式包含,當被前者包含時我們希望使用__declspec(dllexport)定義函式,當被後者包含時我們希望使用dllimport。於是我們使用
#ifdef _exporting
#define class_declspec __declspec(dllexport)
#else
#define class_declspec __declspec(dllimport)
#endif
這種技巧,在定義該函式的dll中,其編譯選項定義了_exporting而使用該函式的程式則沒有定義。
>
來自為知筆記(wiz)
跨平台kivy庫使用
最近發現了乙個不錯的跨平台開發庫,kivy 官網 類似qt,其 可以在windows,mac os,linux,android和ios上執行,大概了解了下使用,比較適合自己開發小工具吧,到實際專案估計得踩坑,具體還沒踩過,體驗下先。建立乙個應用程式有三步 2.該類中實現build 方法,初始化顯示w...
巨集在多執行緒跨平台開發中的應用
巨集在多執行緒跨平台開發中的應用 東方射日 c 基礎篇 現在做的乙個工程是多執行緒應用,同時用在 windows 和mac os 下,未來還必須移植到 linux 這裡就涉及乙個跨平台開發的問題。我們知道多執行緒的相關函式在不同平台下是不同的,比如初始化乙個互斥鎖,在 windows 下是 hand...
使用MonoDevelop開發跨平台的應用程式
mono 專案在3月31日發布了mono2.4和monodevelop 2.0版本,2009年6月3日lluis 在部落格上宣布了monodevelop是乙個完全跨平台的ide。mono計畫的主管miguel de icaza也在部落格上介紹了monodevelop 2.2版本。在 2003 年後期...