python中调用动态链接库(C++,DLL)
来源:互联网 发布:网络视听节目许可证 编辑:程序博客网 时间:2024/05/16 17:06
1,动态链接库编译
使用VS2015创建“Win32项目”,选择应用程序类型为“DLL”,创建项目完成后,头文件中:
#ifdefEXT_DEC_EXPORTS
#defineEXT_DEC_API__declspec(dllexport)
#else
#defineEXT_DEC_API__declspec(dllimport)
#endif
//此类是从 EXT_DEC.dll导出的
classEXT_DEC_APICEXT_DEC {
public:
CEXT_DEC(void);
// TODO: 在此添加您的方法。
};
//extern EXT_DEC_API int nEXT_DEC;
extern"C" {
EXT_DEC_APIint fnEXT_DEC(void);
EXT_DEC_APIint load_data(void);
EXT_DEC_APIint FreeMem(void);
//EXT_DEC_API int ExtIPLocation3(char* IP);
}
在cpp文件中添加:
//这是导出函数的一个示例。
EXT_DEC_APIint fnEXT_DEC(void)
{
return 42;
}
选择生成Release X64版本解决方案,便可以在项目文件夹下找到生成的DLL(EXT_DEC\x64\Release)
2,python中调用
#coding = utf-8
from ctypes import *
import os
CUR_PATH=os.path.dirname(__file__)
dllPath=os.path.join(CUR_PATH,"EXT_DEC.dll")
print dllPath
#mydll=ctypes.cdll.LoadLibrary(dllPath)
#print mydll
#pDll=ctypes.WinDLL(dllPath)
pDll=cdll.LoadLibrary(dllPath)
#pDll=ctypes.CDLL(dllPath)
print pDll
#加载数据
pResutl= pDll.load_data()
#手机解析
pDll.ExtMobileLocation.restype = c_char_p#设置返回的数据类型
print pDll.ExtMobileLocation("18797962122")
- python中调用动态链接库(C++,DLL)
- SAS中调用动态链接库(C++,DLL)
- python 3 调用c/c++ 动态链接库 *.dll
- python中调用动态链接库(C++,linux)
- python 调用so dll动态链接库
- python中使用ctypes调用MinGW生成的动态链接库(dll)
- 使用Java调用DLL动态链接库(如何在Java中调用DLL方法)
- C语言编写DLL动态链接库并分别用VB和Python调用
- java调用动态链接库(dll)
- 调用动态链接库(dll)
- Python调用C/C++动态链接库
- Python调用C/C++动态链接库
- C/C++-动态链接库(DLL)
- 在C#中调用C语言写的动态链接库 DLL
- C#中调用C++ 动态链接库 dll 的方…
- C#中调用C++ 动态链接库 dll 的方…
- C#调用C/C++ 动态链接库DLL(一)
- C#调用C/C++ 动态链接库DLL(二)
- Drawable学习之-----ScaleDrawable
- mac命令行打开sublime
- 记一次线上生产环境mysql dumplicate entry '2147483647' for key primary
- 蓝牙设备开发的三种方式
- 驱动第一章:hello world
- python中调用动态链接库(C++,DLL)
- [转] Matlab
- Python笔记
- 导航栏隐藏
- 什么叫操作符
- javascript 缓存请求的数据
- TokuDB命令之tokuftdump
- springMVC demo
- R语言开发环境设置