Подтвердить что ты не робот

Как я могу сгенерировать C-оболочки через С++ API с помощью SWIG?

Я хотел бы сгенерировать C-оболочки поверх некоторого С++ API с помощью SWIG.

Из документации SWIG SWIG и С++:

6.2 Подход

Чтобы обернуть С++, SWIG использует многоуровневый подход к генерации кода. На самом низком уровне SWIG генерирует коллекцию процедурных оберток стиля ANSI-C. Эти обертки заботятся преобразования базового типа, проверки типов, обработки ошибок и других низкоуровневых данных С++ > привязка. Эти обертки также достаточны для привязки С++ к любому целевому языку, который поддерживает встроенные процедуры. В некотором смысле, вы можете просмотреть этот слой обертки как предоставляя интерфейс библиотеки C для С++.

Однако я не вижу никакой возможности сделать это, не создавая кода для использования API на языке, таком как Python, Ruby и т.д. Как я могу получить только обертки C?

4b9b3361

Ответ 1

Хотя основная ветвь SWIG не может создавать C-оболочки для С++ API (документация SWIG, указанная в вопросе, немного вводит в заблуждение), есть ветвь SWIG, созданная во время Google Summer of Code 2008 и доступная по адресу https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd/, который делает именно это. Я нашел ответ здесь: С++ to C Wrapper с помощью SWIG (для FLTK)