У меня есть фрагмент кода C ++, который генерирует данные.Я хочу представить данные в Python.Но это не так тривиально, как кажется ...
Скажем, этот C ++ компилируется в двоичные файлы cppcode
.Из-за сложного способа настройки фреймворка я могу запустить код только как
./cppcode {command line arguments}
Внутри cppcode он генерирует данные, к которым я хочу получить доступ из Python.Я знаю, могу ли я каким-то образом переписать программу как
CppClass cpp;
cpp.run( args );
. Тогда я могу обернуть CppClass с помощью Boost Python, построить экземпляр, запустить с аргументами и получить доступ к данным в генерировании.
Но теперь, когда я могу запустить код только как ./cppcode {command line arguments}
Я не могу просто вызвать ./cppcode
из Python, потому что после завершения ./cppcode его память будет вызыватьсясистема, и я не могу видеть это из Python больше.Есть ли способ обойти это?
Я могу подумать: (1) позвольте ./cppcode записать данные на диск и позволить python их прочитать.(2) выгрузить данные в stdout и передать в скрипт Python.Но в любом случае я должен сделать какой-то анализ строки в Python, который может быть медленным.Есть ли способ обойти это?