笔记
一、调用C++普通函数:
- 1.编写C++动态链接库
方法如下(示例):
linux下正常创建cpp文件,把python要调用的代码函数用extern “C”关键字修饰,例:
定义文件名为:myCtype.cpp
extern "C" int Add(int a,int b)
{
return a+b;
}
打开终端,使用g++编译。
g++ -fPIC -shared -o myCtype.cpp myCtype.so
最后使用mv
命令把动态链接库移动到/use/lib
文件夹下(linux系统再这个文件中检索库)
sudo mv myCtype.so /usr/lib
- 2.编写python文件调用C++动态库
创建Test.py文件:
from ctypes import *
import os
lib = cdll.LoadLibrary("myCtype.so")
lib.Add(1,2)
保存文件,执行代码:
python3 Test.py
二、调用C++类对象方法
- 1.C++动态库
如下(示例):
linux下正常创建cpp文件,把python要调用的代码函数用extern “C”关键字修饰,例:
首先,定义文件名为:myCtype.cpp
#include<iostream>
using namespace std;
class myTest
{
public:
void print();
};
void myTest::print()
{
cout << "123456" << endl;
}
extern "C"{
myTest My;
void print()
{
return My.print();
}
}
代码编译,同上。
- 2.python调用
同上。