[Moscow.pm] XS и Windows DWORD
Alex Varyanick
q на cono.org.ua
Вт Дек 25 10:08:49 PST 2012
2012/12/25 Ruslan Zakirov <ruz на bestpractical.com>
> Есть вариант заменить DWORD на U32 в описании типов аргументов и
> проверить, что потом оно совпадает с тем что либа использует на каждой
> платформе.
>
Там помимио DWORD куча замороченых типов :)
> Следующий вариант с TYPEMAP, ну не сотня же у вас типов. Саму карту
> можно своровать из perl.
>
Просто если новый тип добавится или ещё чего, это прийдётся ручками лезть
помимо кода и в typemap :) Ну или написать парсер на изменения мажорных
версий...
Или разбирать аргументы самому, но не обязательно как в Pipe.xs. Ведь
> любой аргумент можно определить как указатель на SV, а далее макросом
> или функцией сконвертить в нужный тип.
>
> bool do_something(priority)
> SV* spriority
> INIT:
> DWORD priority = SV_TO_DWORD(spriority)
> CODE:
> RETVAL = do_something(priority)
> OUTPUT: RETVAL
>
> Фактически ручная эмуляция typemap получается.
>
> Возможно еще есть 10ок вариантов, я мало знаю в этой области.
Оооо!! Спасибо! это мне кажется то что надо :) Как-то я не подумал про
такое!
--
Varyanick I. Alex
skype: cono..
q на cono.org.ua
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20121225/cff4e3c7/attachment-0001.html>
Подробная информация о списке рассылки Moscow-pm