c # маршалинг плавающего указателя - PullRequest
1 голос
/ 24 января 2011

Мне нужно вызвать функцию c ++ из приложения c #.Функция определяется как Bool GetTemperaure(float *value).Я определил как ниже.

[DllImport("xxx.dll")]
public static extern bool GetTemperaure(out System.Single value);

Когда я вызываю GetTemperaure, иногда я не получаю правильное значение.Я только что поставил блок ожидания вокруг этого звонка.Разделенное на ноль исключение появляется некоторое время.

Что я когда-либо определял, это правильно?какие-нибудь идеи, почему исключение прибывает?

Спасибо, Раджу

1 Ответ

0 голосов
/ 15 февраля 2011

Вопрос говорит: "Bool" ты имел в виду bool или BOOL?Они имеют разные значения в C ++.Таким образом, у вас может быть неправильный прототип.Вам может понадобиться UnmanagedType.Bool или System.Boolean в зависимости от стороны C ++.

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