Для оболочки Python Cython библиотеки C/C++: как делегировать создание экземпляра объекта обратно в дополнительный код C ⇐ C++
-
Anonymous
Для оболочки Python Cython библиотеки C/C++: как делегировать создание экземпляра объекта обратно в дополнительный код C
В моем проекте Python (назовем его проектом A) я использую проект C++ (назовем его проектом B), который предоставляет C++ API, а также предоставляет оболочку Python. , созданный с помощью Cython. В проекте A у меня есть трудоемкий алгоритм, который создает объект из API Python B проекта, используя разные функции из одного и того же API, а затем использует указанный объект во всем коде. . Я пытаюсь найти способ делегировать часть построения объектов C/C++, но пока понятия не имею, как к этому подойти. Я не могу изменить внутренний код проекта B, поэтому я не могу добавить эту функциональность построения объектов в кодовую базу C++ и предоставить ее вместе с API в части Cython, поэтому я думаю, мне нужно создать это объект на C++, используя API-интерфейс B C++ проекта, чем мне каким-то образом нужно передать этот объект в код Python, но таким образом, чтобы он по-прежнему был совместим с API-интерфейсом Python проекта B. У меня нет большого опыта работы с Cython, поэтому я даже не уверен, возможно ли это вообще (без полной реконструкции API Python только для добавления моего алгоритма)?
В моем проекте Python (назовем его проектом A) я использую проект C++ (назовем его проектом B), который предоставляет C++ API, а также предоставляет оболочку Python. , созданный с помощью Cython. В проекте A у меня есть трудоемкий алгоритм, который создает объект из API Python B проекта, используя разные функции из одного и того же API, а затем использует указанный объект во всем коде. . Я пытаюсь найти способ делегировать часть построения объектов C/C++, но пока понятия не имею, как к этому подойти. Я не могу изменить внутренний код проекта B, поэтому я не могу добавить эту функциональность построения объектов в кодовую базу C++ и предоставить ее вместе с API в части Cython, поэтому я думаю, мне нужно создать это объект на C++, используя API-интерфейс B C++ проекта, чем мне каким-то образом нужно передать этот объект в код Python, но таким образом, чтобы он по-прежнему был совместим с API-интерфейсом Python проекта B. У меня нет большого опыта работы с Cython, поэтому я даже не уверен, возможно ли это вообще (без полной реконструкции API Python только для добавления моего алгоритма)?
Мобильная версия