1、可以使用cython,编写api.pyx:
from libcpp.string cimport string from libcpp cimport bool cdef extern from "pyptapi.h" namespace "test": void init_log(const char *, const char *) cdef int test_pass(const string passwd) import os import sys import time import threading def init_priv(passwd): return test_pass(passwd) def _main(fname, exec_in_encrypted_env=False): return
然后调用命令:
cython --cplus api.pyx
生成api.cpp,使用api.cpp加入编译生成so库,在python中引用so库,并使用api.pyx中定义的函数即可
2、使用pybind,可以通过c++调用python