У меня есть рабочая оболочка Python для кода C ++ (как предлагается здесь Вызов C / C ++ из python? ) с использованием ctypes.Но проблема в основной функции кода.Когда я делаю что-то вроде
extern "C" {
void call_main(){ main();}
}
в своем коде c ++ и затем вызываю эту функцию через оболочку python
...
lib = cdll.lib('./mylib.so')
def run():
lib.call_main()
-> я получаю «ошибку сегментации».
Самое смешное, что когда я копирую, вставляю код моего основного метода в функцию, называемую, например, test (то есть это int test () {.... # вставленный код ...} в коде c ++), externон и затем вызывает lib.test ()
=> И все работает нормально ... Так что, должно быть, проблема в том, что функция main называется main или что-то в этом роде