Python 呼叫VC 的動態鏈結庫 DLL

2022-09-29 13:00:12 字數 882 閱讀 9534

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)www.cppcns.com;

extern "c" lrdlltest_api void getstring(char* pchar);

//a + b

lrdlltest_api int sum(int a , int b)

//get a string

lrdlltest_api void getstring(char* pchar)

2. python中呼叫如下:

複製** **如下:

from ctypes import *

filename="lrdlltest.dll"

func=cdll.loadlibrary(filename)

str = create_string_buffer(20)

n = fu程式設計客棧nc.sum(2, 3)

func.getstring(str)

print n

print str.raw

關於c語言中的一些引數型別詳見:

3. 輸出結果:

5 程式設計客棧

hello dll

本文位址: /jiaoben/python/44134.html

Qt呼叫VC 生成的動態鏈結庫

qt如何呼叫vc 生成的動態鏈結庫?假設當前有vc 編譯器生成的動態庫檔案testdll.h,testdll.lib和testdll.dll。testdll.h檔案原始碼如下 ifdef testdll exports define testdll api declspec dllexport el...

Qt呼叫VC 生成的動態鏈結庫

qt如何呼叫vc 生成的動態鏈結庫?假設當前有vc 編譯器生成的動態庫檔案testdll.h,testdll.lib和testdll.dll。testdll.h檔案原始碼如下 ifdef testdll exports define testdll api declspec dllexport el...

Qt呼叫VC 生成的動態鏈結庫

qt如何呼叫vc 生成的動態鏈結庫?假設當前有vc 編譯器生成的動態庫檔案testdll.h,testdll.lib和testdll.dll。testdll.件原始碼如下 ifdef testdll exports define testdll api declspec dllexport else...