[Kiev-pm] XS и Windows DWORD

Alex Varyanick q at cono.org.ua
Tue Dec 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/kiev-pm/attachments/20121225/f8825de5/attachment.html>


More information about the Kiev-pm mailing list