本文主要是介绍6.windows中python3用ctypes访问C动态链接库(入门级 tcy),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
windows中python3用ctypes访问C动态链接库1.1测试环境:操作系统:windows7Python版本:3.6.8VS版本:vs2017社区版(免费)1.2 C/C++动态链接库创建1)VS2017->文件->新建项目->[已安装->VC++->Window桌面]->选择动态连接库dll->下面输入输入名称Dll1->确认
2)在Dll1.cpp中添加代码:#include "stdafx.h"
extern "C"
{__declspec(dllexport)int add(int a,int b){return a + b;}
}3)编译生成a.设置:菜单调试->选项->调试->常规:勾选启用原服务器支持->-符号:勾选Microsoft符号服务器下面选择缓存符号路径:C:\Users\sign_tcyb.中间工具栏:中选择:debug;X64c.菜单:生成->生成结决方案d.生成:C:\Users\Administrator\source\repos\Dll1\x64\Debug\Dll1.dll;Dll1.lib
4)将Dll1.dll拷贝到python的工作环境下:C:\ProgramData\Anaconda3\envs\tcy_p36注意dll文件可以放在python执行的路径下,也可以放到系统路径或者path环境变量所设置的路径2 Python部分的代码from ctypes import *
import ctypeslib = CDLL("Dll1") #可以加路径,省略扩展名
# ctypes访问函数只支持C语言函数,C++函数因为有重载函数名不确定,所以无法访问
print(lib.add(2,3))参考:http://blog.51cto.com/xiacaojun/2317778
这篇关于6.windows中python3用ctypes访问C动态链接库(入门级 tcy)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!