C # эквивалент для C ++ "подписанный длинный int" - PullRequest
0 голосов
/ 24 марта 2011

Я импортирую C ++ dll в проект C # и на машине x64 в режиме отладки PInvoke жалуется, что управляемая подпись не соответствует неуправляемой целевой подписи.

C ++:

void _Foo(signed long int x);

C #:

[DllImport("foo.dll", EntryPoint="_Foo"]
public static extern void Foo(int x)

Замена int в коде C # на IntPtr или Int64 не решила проблему.Есть предложения?

Ответы [ 2 ]

3 голосов
/ 24 марта 2011

Это System.Int32. Также известен как "int".

0 голосов
/ 24 марта 2011

A long int в C ++ == int в C #.Оба имеют длину 4 байта.A long long в C ++ == long в C #.(8 байт.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...