1. 程式人生 > >python呼叫c++寫的dll時遇到坑(主要是c++的dll裡面又呼叫了c#的dll)

python呼叫c++寫的dll時遇到坑(主要是c++的dll裡面又呼叫了c#的dll)

1、python呼叫純c++寫的dll時,直接用下面程式碼就好。 

from ctypes import *

dll = CDLL('DcDll.dll')

原本以為就算是c++的dll呼叫了c#的dll,應該和原來直接呼叫c++寫的dll一樣,可是事實不是的。只要一執行包含了c#的dll,python程式就閃退。

網上找了幾天的資料,終於在python的官網找到了相關的資料。

解決方法如下:

   dll說明:testDll.dll是c#寫的dll,它的名稱空間為testDll。DcDll.dll包含了c#的dll(testDll.dll);

1、下載pythonnet 庫

2、在python的程式碼中加入下面的匯入資訊。這樣,再執行包含了c# dll的c++ dll執行起來就沒有錯了。

import clr
from testDll import *  # 匯入名稱空間