2011-01-24 83 views
1

我必須從c#app調用C++函數。該功能定義爲Bool GetTemperaure(float *value)。我已經定義如下。c#編組浮動指針

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

當我打電話給GetTemperaure時,有時候我沒有得到正確的值。我只是在這次電話會議上安排了一個預測模塊。零分例外出現一段時間。

我曾經定義過的是正確的?任何想法爲什麼異常即將到來?

感謝 拉朱

+2

簽名看起來正確。你確定C函數不會導致DivideByZero或者它可能期望輸入值嗎? – leppie 2011-01-24 07:28:42

回答

0

的問題說 「布爾」 你的意思是BOOL或BOOL?它們在C++中有不同的含義。因此你可能有不正確的原型。您可能需要UnmanagedType.Bool或System.Boolean,具體取決於C++端。