liu123yang 发表于 2022-4-20 17:51:14

python如何调用c++写的库

帮忙看看

hrpzcf 发表于 2022-4-20 17:56:44

CPP写的编译成动态链接库,注意函数的调用约定,python里用ctypes载入。

liu123yang 发表于 2022-4-20 18:08:54

hrpzcf 发表于 2022-4-20 17:56
CPP写的编译成动态链接库,注意函数的调用约定,python里用ctypes载入。

#include "unitree_legged_sdk/unitree_legged_sdk.h"
#include <iostream>
#include <unistd.h>
#include <string.h>
#include <array>
#include <math.h>
#include <pybind11/operators.h>
#include <pybind11/pybind11.h>
#include <pybind11/stl.h>
#include <vector>
#include <msgpack.hpp>
头文件包含这些

liu123yang 发表于 2022-4-20 18:10:02

liu123yang 发表于 2022-4-20 18:08
#include "unitree_legged_sdk/unitree_legged_sdk.h"
#include
#include


要那么麻烦吗

hrpzcf 发表于 2022-4-20 18:24:52

liu123yang 发表于 2022-4-20 18:10
要那么麻烦吗

方法不少,我说的只是比较简单的办法。

liu123yang 发表于 2022-4-20 19:59:25

hrpzcf 发表于 2022-4-20 18:24
方法不少,我说的只是比较简单的办法。

linux下怎么操作啊

hrpzcf 发表于 2022-4-20 21:48:36

test.c:
int func(){
    return 666;
}


Linux下编译:gcc -o libtest.so -shared -fPIC test.c

生成libtest.so

callso.py中调用:
import ctypes

dll = ctypes.CDLL("./libtest.so")
print(dll.func())

hornwong 发表于 2022-4-21 00:24:02

{:5_95:}
页: [1]
查看完整版本: python如何调用c++写的库