#c# #c #64-bit #swig
#c# #c #64-разрядный #swig
Вопрос:
Проблема в том, что swig отображает переменные size_t как uint в c #, это правильно в 32-разрядной версии, но мне нужно создать оболочку и для 64-разрядной версии. Мне нужна помощь с настройкой интерфейса, чтобы использовать ulong вместо uint для size_t на 64-разрядных платформах. Интерфейс действительно прост, я просто добавил файлы заголовков напрямую. Нет необходимости в поддержке Linux, поскольку проект предназначен только для Windows, а компилятором является Visual Studio 2010.
Любая помощь будет высоко оценена.
Комментарии:
1. Вы должны использовать UIntPtr, а не uint или ulong
Ответ №1:
%apply
это что-то вроде #define. Я использовал его для преобразования int64_t в long long.
%apply ulong {size_t}
Комментарии:
1. Большое вам спасибо, я действительно использовал
%apply ulonglong {size_t}
. Итак, ulonglong в c и ulong в c # оба 64-разрядные.