開始使用 swig

SWIG (Simplified Wrapper 和 Interface Generator)是一種用於將 C 和 C++程式碼包裝在各種目標語言中的工具,允許 C / C++ API 用於其他語言。

SWIG 解析標頭檔案並以依賴於目標語言的方式生成程式碼。程式碼生成可以由 SWIG 介面檔案中的開發人員以及命令列選項控制。

在介面檔案中,開發人員告訴 SWIG 要包裝的內容和方式。SWIG 有自己的前處理器系統和許多特殊指令來控制資料,類和函式如何包裝在目標語言中。其中一些指令是通用的,另一些是特定於目標語言的指令。

中央如何 SWIG 功能是型別對映。型別對映是指定如何在 C 程式碼和目標語言之間封送型別的規則。字型對映可以全域性應用於介面檔案中的所有內容,也可以根據具體情況在本地應用。如有必要,也可以定製它們。

一旦 SWIG 在介面檔案上執行,它就會生成一個 C 或 C++檔案,它就是包裝器。該檔案應該與 C / C++程式或靜態庫進行編譯和連結,包裝器用於與之互動以生成共享庫。該庫反過來由目標語言使用。

RTFM

SWIG 已經附帶了一本優秀的文件手冊 ,這一點無法得到足夠的重視。這一方面非常詳細,涵蓋了安裝 ,並以程式碼片段的形式提供了許多具體示例,包括完整的 hello world SWIG 示例

但最重要的是,它還解釋了 1.7 如何避免閱讀手冊

如果你討厭閱讀手冊,請看一下“ 簡介 ”,其中包含一些簡單的例子。這些示例包含使用 SWIG 需要了解的所有內容的 95%。之後,只需使用特定於語言的章節作為參考。SWIG 發行版還附帶了一個說明不同主題的大型示例目錄。