Q DECL EXPORT使用 共享庫 md

2021-10-08 13:52:17 字數 851 閱讀 2105

用於客戶端使用的共享庫(如應用程式或其他庫)中包含的符號——函式、變數或類——必須以特殊方式標記。

這些符號被稱為公共符號,它們被匯出或公開可見。

其餘的符號從外部不應該可見。

q_decl_export:必須新增到編譯共享庫時使用的符號宣告中。

q_decl_export:在編譯使用共享庫的客戶端時,必須將q_decl_import新增到符號宣告中。

在qtcreator+qt的情況下用mingw編譯出來一般有.dll和.a,假如編譯出來乙個myplunge.dll,那麼另外乙個.a檔案就是libmyplunge.a,這裡說明一下,這個.a檔案是乙個「引入庫」檔案,就跟vs編譯出來的.lib檔案一樣,請記住:mingw是不能編譯出.lib檔案來的。而且,在上一段時間的實踐中發現,其實mingw編譯是不需要.a檔案,就是說不需要引入庫檔案,直接在.pro檔案引入dll檔案就行了。

假設我們要建立乙個共享庫mysharedlib,

#if defined(mysharedlib_library)

# define mysharedlib_export q_decl_export

#else

# define mysharedlib_export q_decl_import

#endif

在.pro 檔案中新增

defines += mysharedlib_library
在原始檔中新增相應的巨集定義

mysharedlib_export void foo();

class mysharedlib_export myclass...

共享記憶體的使用

http download1.csdn.net down3 20070529 29183222619.chttp download1.csdn.net down3 20070529 29183246962.chttp download1.csdn.net down3 20070529 2918324...

使用ContentProvider共享資料

當應用繼承contentprovider類,並重寫該類用於提供資料和儲存資料的方法,就可以向其他應用共享其資料。以前我們學習過檔案的操作模式,通過指定檔案的操作模式為context.mode world readable 或context.mode world writeable同樣可以對外共享資料...

使用ContentProvider共享資料

當應用繼承contentprovider類,並重寫該類用於提供資料和儲存資料的方法,就可以向其他應用共享其資料。以前我們學習過檔案的操作模式,通過指定檔案的操作模式為context.mode world readable 或context.mode world writeable同樣可以對外共享資料...