python用swig調dll是個偽命題

2021-04-16 09:26:55 字數 313 閱讀 3877

只有自己寫的**生成的dll才可以通過swig來調,而且實際上調的也不是dll,而是.pyd檔案。也就是說用生成dll的**通過.i和_swap.cxx檔案一起生成乙個.pyd檔案,python在呼叫c++的函式的時候實際是鏈結的.pyd。沒有這個檔案是不能成功調dll的。

用boost.python調dll時也是需要生成乙個pyd檔案才能成功呼叫的,否則光有dll是無法呼叫的。

因此我們如果要呼叫乙個dll,可以直接用c++寫呼叫dll以及處理函式,然後用swig或boost庫封裝這個c++**,再用python去調這個程式,可以實現使用dll,而不必要有這個dll的**。 

使用SWIG寫Python外掛程式

使用 swig 寫python外掛程式 1 程式的安裝 a 從www.python.org python 並安裝b 從www.swig.org swig 並安裝 2 環境的設定 a 右鍵 我的電腦 選擇 屬性 增加兩個環境變數 b 在環境變數中輸入 python 的include 目錄和lib檔案 ...

visudal studio建立dll與呼叫dll

版本visudal studio 2015 剛剛接觸dll這東西,在建立和使用dll的過程中,踩了不少坑,在度娘裡有各種各樣的方法,但有的地方說得不夠詳細清楚,在綜合各種方法後,我總結了由建立到使用的過程,在這裡我只總結最常用的執行時動態鏈結,靜態的就不多說了,希望對你們有幫助。一 dll建立 這一...

用swig 封裝C 動態庫的實踐

python 呼叫c 有很多方案。swig 還是比較好用的。需求 假設有乙個現成的c 庫 a.so 和 標頭檔案 a.h 如何通過python 來呼叫 a.so 裡面的功能介面。最開始我誤認為必須有 a.so 的源 cpp和a.h 才行。實踐過發現,不需要源 swig可以根據標頭檔案就自動生成乙個可...