python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python引用.dll文件调用函数

python引用.dll文件并调用函数实例代码

作者:python开发笔记

Python作为一种强大且灵活的编程语言,被广泛用于开发和集成各种软件和库,然而有时候需要调用DLL(动态链接库)文件,这篇文章主要介绍了python引用.dll文件并调用函数的相关资料,需要的朋友可以参考下

一. .dll文件生成

c++代码 .cpp文件

#include <iostream>

// 导出函数声明,供外部调用
extern "C" __declspec(dllexport) int add(int a, int b);
extern "C" __declspec(dllexport) void greet();

// 函数实现
int add(int a, int b) {
    return a + b;
}

void greet() {
    std::cout << "Hello from MyDLL!" << std::endl;
}
    

windows环境下使用命令生成.dll

g++ -shared -o demo.dll demo.cpp -Wl,--out-implib=libdemo.a -static-libstdc++

命令参数说明:
-shared:指定生成动态链接库(.dll)-o mydll.dll:指定输出的 DLL 文件名
-Wl,--out-implib=libmydll.a:生成导入库(.a 文件),供其他程序链接时使用

执行成功后,会生成三个文件:
mydll.dll:动态链接库本体
libmydll.a:MinGW 格式的导入库
mydll.exp:导出符号文件(辅助文件)

libstdc++
-static-libstdc++:静态链接 C++ 标准库,将std::cout等实现打包到你的 DLL 中

二. python引用.dll文件

from ctypes import *
pdll = CDLL("E:\\project\\dll_demo\\demo.dll")
c = pdll.add(1,2)
print(c)

pdll.greet()

python调用结果

3
Hello from MyDLL!

总结

到此这篇关于python引用.dll文件并调用函数的文章就介绍到这了,更多相关python引用.dll文件调用函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文