Python可以通过调用Dll中的到处符号调用C++.

新建一个QT的DLL项目:

class MyMath {
public: 
	int add(int a, int b);
	int multiply(int a,int b);
};


extern "C" {
	QTPYTHONDLL_EXPORT int addEx(int a, int b);
	QTPYTHONDLL_EXPORT int multiplyEx(int a, int b);
	QTPYTHONDLL_EXPORT void printMsg();
}

int MyMath::add(int a, int b) {
	return a + b;
}


int MyMath::multiply(int a, int b) {
	return a*b;
}

MyMath myMath;

int addEx(int a, int b) {
	return myMath.add(a, b);
}

int multiplyEx(int a, int b) {
	return myMath.multiply(a, b);
}

void printMsg() {
	printf("Hello World!!!");
}

编译成DLL,然后把编译好的DLL复制到py文件对应的目录下面
在这里插入图片描述

Python调用DLL

import ctypes
dll = ctypes.cdll.LoadLibrary('./QtPythonDll.dll')
print(dll.addEx(2,3))
print(dll.multiplyEx(2,3))
print(dll.printMsg())

运行结果:

5
6
Hello World!!!14

aaa

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐