一. .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文件调用函数内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论