Каков современный способ создания модуля XS с нуля? - PullRequest
17 голосов
/ 07 апреля 2009

Мне нужно написать модуль XS для Perl. Насколько я понимаю, сегодня h2xs в значительной степени устарела, каков предпочтительный метод запуска модуля XS сегодня? Я посмотрел на Module :: Starter, но он обрабатывает только чистые модули Perl.

Ответы [ 4 ]

16 голосов
/ 07 апреля 2009

Нет, h2xs не считается устаревшим. Module :: Starter, безусловно, более удобен, если вы создаете много чистых модулей Perl, но нет причин избегать h2xs. Тем не менее, я бы порекомендовал прочесть всю документацию до ее использования, чтобы вы знали, что все, что вы, возможно, хотите, чтобы она делала или не делала.

5 голосов
/ 08 апреля 2009

Лично я просто использую Module :: Starter и сам добавляю файл .xs. Это зависит от того, какова ваша цель: если вы делаете сопоставление один на один с C api, то h2xs может сделать для вас много шаблонного, но если вы создаете совершенно новый интерфейс или когда вы ' делать что-то только с самим Perl (а не с какой-нибудь внешней библиотекой), это немного добавляет, но проблем ИМХО.

0 голосов
/ 19 апреля 2012

Лично, всякий раз, когда я начинаю создавать новый модуль, я просто делаю это cp, редактируя файлы из другого моего модуля, аналогичного ему, и редактируя соответствующим образом. Конечно, ничто в этом подходе не говорит, что это должен быть один из моих. На CPAN есть много кода, который вы можете взять и вдохновиться ...

0 голосов
/ 08 апреля 2009

Вы также должны посмотреть на использование Inline :: C

...