欢迎光临
我们一直在努力

python调用c示例

目录

dll.h

main.c

Python部分:


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
#endif

main.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 = b'g'
c2 = b'9'
d.fun1(c1, c2, t)
res = d.fun2(t)
print(str(res))

社区

赞(0)
未经允许不得转载:171主机测评 » python调用c示例
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址