调用C/C++实现的DLL库
先把.dll库拷贝到.py的目录下。
程序思路:
1. 调用cdll.LoadLibrary将dll导入进来;
2. 32bit的dll在64bit的Python中无法使用;
from ctypes import *
dll = cdll.LoadLibrary('myDLL.dll')
sum = dll.add(1, 2, 3)
print(sum)
调用C#实现的DLL库
在python调用c#dll库时要先安装库clr,即安装pythonnet
再将DLL文件拷贝到与python同一目录下
安装pythonnet
,在代码中import clr
# coding:utf-8
import clr
# 引用Dll,不需要添加后缀
clr.AddReference("TestDll")
# TestDll是命名空间,MyTest是命名空间里定义的类
from TestDll import MyTest
# 实例化类
instance = MyTest()
# 无输入及无返回
instance.Print()
# 有输入及无返回
instance.Print("qin")
# 有输入及输出
add_data = instance.Add(1, 1)
print(add_data)
C#的代码
using System;
namespace TestDll
{
public class MyTest
{
public void Print()
{
Console.WriteLine("Hello world!!!");
}
public void Print(string msg)
{
Console.WriteLine($"Hello {msg}!!!");
}
public double Add(double x, double y)
{
return x + y;
}
}
}