Python調用VC++的動態鏈接庫(DLL)
來源:懂視網
責編:小采
時間:2020-11-27 14:29:31
Python調用VC++的動態鏈接庫(DLL)
Python調用VC++的動態鏈接庫(DLL):1. 首先VC++的DLL的導出函數定義成標準C的導出函數: 代碼如下:#ifdef LRDLLTEST_EXPORTS #define LRDLLTEST_API __declspec(dllexport) #else #define LRDLLTEST_API __declspec(dllimport) #endif exter
導讀Python調用VC++的動態鏈接庫(DLL):1. 首先VC++的DLL的導出函數定義成標準C的導出函數: 代碼如下:#ifdef LRDLLTEST_EXPORTS #define LRDLLTEST_API __declspec(dllexport) #else #define LRDLLTEST_API __declspec(dllimport) #endif exter

1. 首先VC++的DLL的導出函數定義成標準C的導出函數:
代碼如下:
#ifdef LRDLLTEST_EXPORTS
#define LRDLLTEST_API __declspec(dllexport)
#else
#define LRDLLTEST_API __declspec(dllimport)
#endif
extern "C" LRDLLTEST_API int Sum(int a , int b);
extern "C" LRDLLTEST_API void GetString(char* pChar);
//a + b
LRDLLTEST_API int Sum(int a , int b)
{
return a + b;
}
//Get a string
LRDLLTEST_API void GetString(char* pChar)
{
strcpy(pChar, "Hello DLL");
}
2. Python中調用如下:
代碼如下:
from ctypes import *
fileName="LRDllTest.dll"
func=cdll.LoadLibrary(fileName)
str = create_string_buffer(20)
n = func.Sum(2, 3)
func.GetString(str)
print n
print str.raw
關于C語言中的一些參數類型詳見:http://www.python.org/doc/2.5/lib/node454.html
3. 輸出結果:
5
Hello DLL
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
Python調用VC++的動態鏈接庫(DLL)
Python調用VC++的動態鏈接庫(DLL):1. 首先VC++的DLL的導出函數定義成標準C的導出函數: 代碼如下:#ifdef LRDLLTEST_EXPORTS #define LRDLLTEST_API __declspec(dllexport) #else #define LRDLLTEST_API __declspec(dllimport) #endif exter