QT的QLibrary类的使用
詳細說明
QLibrary類在運行時加載共享庫。
QLibrary對象的實例在單個共享對象文件(我們稱為“庫”,但也稱為“ DLL”)上進行操作。 QLibrary以平臺無關的方式提供對庫中功能的訪問。您可以在構造函數中傳遞文件名,也可以使用setFileName()對其進行顯式設置。加載庫時,除非文件名具有絕對路徑,否則QLibrary會搜索所有系統特定的庫位置(例如Unix上的LD_LIBRARY_PATH)。
如果文件名是絕對路徑,則嘗試首先加載該路徑。如果找不到該文件,則QLibrary嘗試使用具有特定于平臺的文件前綴的名稱,例如Unix和Mac上的“ lib”,以及后綴,例如Unix上的“ .so”,Mac上的“ .dylib”或“。 dll”。
如果文件路徑不是絕對路徑,則QLibrary修改搜索順序以首先嘗試系統特定的前綴和后綴,然后是指定的文件路徑。
這樣就可以指定僅由其基名標識的共享庫(即不帶后綴),因此相同的代碼將在不同的操作系統上工作,但仍將查找庫的嘗試次數降至最低。
最重要的功能是:load()用于動態加載庫文件,isLoaded()用于檢查加載是否成功,以及resolve()用于解析庫中的符號。如果尚未加載該庫,則resolve()函數隱式嘗試加載該庫。可以使用多個QLibrary實例來訪問同一物理庫。加載后,庫將保留在內存中,直到應用程序終止。您可以嘗試使用unload()來卸載庫,但是如果QLibrary的其他實例正在使用同一庫,則調用將失敗,并且僅當每個實例都調
總結
以上是生活随笔為你收集整理的QT的QLibrary类的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓12开发者预览版发布 新功能介绍即
- 下一篇: QT的QLineSeries类的使用