Я хотел бы использовать SWIG в Windows для создания 64-битных приложений.У меня есть класс, в котором есть указатель на буфер, и, поскольку я хотел бы взаимодействовать с классом .NET, указатель объявлен как intptr_t
.
Проблема заключается в том, что стандарт SWIG stdint.i
предполагает, что intptr_t
это либо int
(в 32-битной среде), либо long
(в 64-битной среде).Хотя это верно для Unix, это неверно для Windows.У кого-нибудь есть подобный опыт или какие-либо идеи, как создать обходной путь для этого?
Я уже настроил карты типов, необходимые для преобразования intptr_t
=> IntPtr
, и он отлично работает в 32-битной среде., но он усекает указатель в 64-битной среде.