python调用c示例

📅 2026/7/18 21:51:46
python调用c示例
目录dll.hmain.cPython部分dll.h#ifndef _DLL_H_ #define _DLL_H_ #include windows.h #if BUILDING_DLL #define DLLIMPORT __declspec(dllexport) #else #define DLLIMPORT __declspec(dllimport) #endif #ifdef __cplusplus extern C { #endif DLLIMPORT void fun1(char code,char codename,char dd); DLLIMPORT char fun2(char dd); #ifdef __cplusplus } #endif #endifmain.c#include dll.h #include windows.h static char rcode[15]; static char mcode[15]; void fun1(char code,char codename,char dd){ rcode[dd]code; mcode[dd]codename; } char fun2(char dd){ return rcode[dd]; } BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved) { switch(fdwReason) { case DLL_PROCESS_ATTACH: { break; } case DLL_PROCESS_DETACH: { break; } case DLL_THREAD_ATTACH: { break; } case DLL_THREAD_DETACH: { break; } } return TRUE; }Python部分import ctypes d ctypes.CDLL(./项目1.dll) d.fun1.argtypes (ctypes.c_char, ctypes.c_char, ctypes.c_char) d.fun1.restype None d.fun2.argtypes (ctypes.c_char,) d.fun2.restype ctypes.c_char t 0 c1 bg c2 b9 d.fun1(c1, c2, t) res d.fun2(t) print(str(res))社区