Поскольку я в конце концов решил его использовать часть предоставленной здесь помощи и исследования, позвольте мне опубликовать ответ.
Я сделал импорт функции CPP через Python с помощью Cython.
Cython обертывает код Python с CPP-файлом и скомпилирует их. Результатом является модуль Python (имя модуля можно указать в файле setup.py), и модуль можно вызвать как обычно.
Проблемы я столкнулся звал функцию CPP от Python.So вот мои советы по работе его
1.Define вашей функции в заголовке C++ и CPP файл.
2.Using CDEF, определить функцию в сценарии Python в начале, когда вы импортируете модули определяют другое определение variables.This аналогично определения заголовочного файла C++
3.While Пазинг аргументов и массивы в вызов функции из python, убедитесь, что все переменные и массивы являются типами, отлитыми как CPP, 4. Для массивов это немного сложно. Например, двойной массив в Python может быть лидирован по типу с использованием array.array, как показано ниже. DEV является AЩелкни двойной массив в питон здесь
cdef array.array dev_arr = array.array('d',dev)
При прохождении этого массива к основной функции CPP вы должны указать этот массив: data.as_doubles
fn_response = cpp_fn_call(stddev_arr.data.as_doubles,...)
Rest будет работать гладко.
Большинство людей рассмотрят [это] (http://www.swig.org/tutorial.html) и [это] (http://www.boost.org/doc/libs/1_57_0/libs/python/ doc/tutorial/doc/html/index.html), чтобы быть пошаговыми инструкциями для SWIG и Boost.Python, соответственно. Что именно вам нужно, чтобы они не предоставляли? –
Этот вопрос [сообщение] [1], кажется, отвечает на ваш вопрос, используя библиотеки ctypes. [1]: http: //stackoverflow.com/questions/145270/calling-c-c-from-python – maeVeyable
«Лучший» субъективен. Для простого кода просто убедитесь, что ваш код cpp имеет интерфейс C (extern «C») и использует ctypes. Просто посмотрите официальные документы для ctypes. – Jagoly