[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