Как интегрировать функцию C ++, которая может генерировать MyException в файле интерфейса swig - PullRequest
1 голос
/ 02 июня 2010

Я новичок в Swig, использую Swig для интеграции кода C ++ в Perl, у меня есть функция C ++, как void s () выбрасывает MyException. Как я могу интегрировать функцию c ++, которая может генерировать MyException в файле интерфейса swig. Как я могу вызвать функцию c ++ в Perl. Любая помощь в этом отношении высоко ценится.

Ответы [ 2 ]

2 голосов
/ 07 июня 2010

Если вы не полностью настроены на использование swig для упаковки вашего C ++, то, возможно, посмотрите на код обработки исключений , который я написал для инструмента ExtUtils :: XSpp

По умолчанию он довольно просто преобразует исключения C ++ в исключения Perl. Для более детального контроля вы можете объявить типы исключений для оболочки и указать, как они должны обрабатываться.

1 голос
/ 04 июня 2010

Здесь ссылка включает Python. Здесь - ссылки на исключения с C ++ с сайта Swig. Здесь - ссылка на обработку исключений.

Обычно вам нужно настроить файл * .i, чтобы сообщить коду Perl, как обрабатывать исключения. На сайте Swig есть хорошая документация. Извините, я не могу помочь. Я не знаю Perl и не имею опыта работы со Swig и Perl. У меня также есть проблемы со Swig и исключениями.

...