[Moscow.pm] XS и Windows DWORD

Alex Varyanick q на cono.org.ua
Вт Дек 25 09:28:28 PST 2012


Портирую c++ либу писвашуюся изначально для Windows.
На данный момент существует полное компатибилити с C типами и также: port.h
в котором в зависимости от ОС (win, mac, linux), делаются typdef для всяких
DWORD, HANDLE и т.д.
В своём XS делаю:
#include "port.h"

Далее использую в XS:
bool do_something(priority)
   DWORD priority

в port.h имею для linux:
  typedef unsigned int   DWORD;

Но беда в том, что xsubpp не делает преобразований к базовым типам
изначально и не проганяет код сквозь gcc -E и т.д. (ругается на отсутствие
типа в typemap)

Есть какие-то методики как такое разрулить (не хочется дулировать каждый
тип уже предусмотренный в port.h либы, дублировать также в typemap), или же
стоит делать так как сделано к примеру тут:
https://metacpan.org/source/JDB/Win32-Pipe-0.024/Pipe.xs

Т.е. без использование xsubpp'шных макросов (prototyping, OUTPUT, ...)
И приведения типов к перловым - руками, без typemap.

Спасибо.

-- 
Varyanick I. Alex
skype: cono..
q на cono.org.ua
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20121225/f8825de5/attachment.html>


Подробная информация о списке рассылки Moscow-pm