C语言DLL封装DLL,嵌套封装DLL
ctypes没能解决c_int类型会变成c_long类型这个问题。所以调库失败,有大手子可以教教我
x = c_int(0)
x.value=1
print("type(x) is "+str(type(x)))
type(x) is <class 'ctypes.c_long'>
经过大佬的建议,重新封装原有的库,再嵌套一个DLL库,并再c环境里转换类型
目前有的文件,还挺多
SI_errors.h
SI_sensor.h
SI_types.h
SpecSensor.dll
SpecSensor.lib
方法
- vs 20**版本,新建c/c++,新建控制台程序,选择DLL,后面不改,生成空文件后面自己添加比较麻烦,直接下一步
- 自己加的.c文件里添加如下,头文件我直接没改,把引用和输出都放在了.c文件了
#include "stdafx.h"
#include <string>
#include <tchar.h>
#include "SI_errors.h"
#include "SI_sensor.h"
#include "SI_types.h"
extern "C" __declspec(dllexport) int mine_SI_Open(long De