在Linux 上建立和使用動態共享C 類別庫
建立共享類別庫
要建立共享C 類別庫,您可以按照這些步驟:
- 定義頭檔.h,宣告類別及其成員函數。請記住使用虛擬成員函數來啟用動態連結。
- 在單獨的來源檔案 .cc 中實作類,包括頭檔。
- 定義用於物件建立的外部 C 函數 (create_object)和銷毀(destroy_object)。
- 使用#include 合併頭檔並使用命名空間std;使用標準命名空間。
- 在 Linux 上使用 g -fPIC -shared 或在 Mac OS X 上使用 g -dynamiclib -flat_namespace 編譯函式庫,產生共用物件檔案 (.so)。
使用共享類別庫
在單獨的環境中使用共享類別庫執行檔:
- 包含必要的頭檔。
- 使用 dlopen 載入共享庫。
- 使用 dlsym 取得 create_object 和 destroy_object 的函數指標。
- 使用create_object建立類別的實例。
- 呼叫成員函數
- 使用 destroy_object 銷毀實例。
- 使用 dlclose 關閉共享庫。
插件系統的其他提示
對於一個插件系統,從基類派生你的類,並使所有必需的函數虛擬。外掛程式作者可以覆蓋虛擬並實作 create_object 和 destroy_object 函數。這樣,您的主應用程式保持不變。
以上是如何在 Linux 上建立和使用動態共用 C 類別庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!