Вопросы по файлу интерфейса SWIG - PullRequest
1 голос
/ 30 мая 2010

Я пишу модуль расширения C / C ++ для других языков и использую SWIG для генерации привязок.

У меня два вопроса

  1. Могу ли я включить более 1 файла заголовка в часть объявления файла интерфейса, например ::10000

    / * Объявления, выставленные для обёртки: * /

    > %{
    > #define SWIG_FILE_WITH_INIT
    > #include "a.h"
    > #include "b.h"
    > #include "c.h" %}
    
  2. Во всех примерах, которые я видел до сих пор, после объявления заголовка (как показано выше) функции, объявленные в заголовке, затем снова объявляются в файле интерфейса. Действительно ли это необходимо, так как это означает, что необходимо сохранить две копии объявлений функций.

Примечание: Я могу оценить, что некоторые объявления функций / методов, возможно, должны быть «украшены» декларацией «newobject», поэтому они, очевидно, должны быть в файле интерфейса, чтобы избежать утечек памяти - однако Я хотел бы знать, что было бы достаточно включить заголовки, а затем ТОЛЬКО объявления функций / методов, которые должны быть объявлены с помощью 'newobject' - это рекомендуемый способ действий?

1 Ответ

2 голосов
/ 31 мая 2010
  1. Да (см. http://www.swig.org/Doc1.1/HTML/Library.html)
  2. Нет (см. http://www.swig.org/tutorial.html; ищите SWIG for the truly lazy)
...