2012/12/25 Ruslan Zakirov <[email protected]> > Есть вариант заменить 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.. [email protected]
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
