Python调用C++

利用Python中ctypes这个库,可以对C++动态库进行调用

一、编写C++程序:

#pragma once
#include
using namespace std;

#define MAIN_EXPORT __declspec(dllexport)

#ifdef __cplusplus
extern "C"
{
#endif

	MAIN_EXPORT void runCPPFun();
	MAIN_EXPORT int cppAddFun(int a, int b);

#ifdef __cplusplus
}
#endif // __cplusplus
#pragma once
#include "main.h"

MAIN_EXPORT void runCPPFun()
{
	cout << "C++ Fun is run !" << endl;
}
MAIN_EXPORT int cppAddFun(int a, int b)
{
	return a + b;
}

二、将C++程序导出dll动态库

       项目属性配置一下编译就OK了。

三、编写Python代码

# -*- coding: utf-8 -*-

import ctypes

cpp = ctypes.cdll.LoadLibrary("F:\\other\\C++\\练习\\others\\python_run _C++\\x64\\Debug\\python_run _C++.dll")

a = 10
b = 20

cpp.runCPPFun()
sum = cpp.cppAddFun(a, b)
print(sum)

四、结果

Python调用C++_第1张图片

五、注意

在C++程序中如果包含指针、引用、结构体等,需要对参数做相应特殊处理

你可能感兴趣的:(python)