发现C#调用C++ DLL函数时
[size=11px]发现C#调用C++ DLL函数时,C++函数的返回值为BOOL时,不论C++返回的是TRUE还是FLASE都在C#中相应true
我不知道是自己想 返回BOOL的方式不对还是其他 ,无论C++函数如何返回FLASE,到了C#中得到的就是true了,想确定确实就是这样设定的还是有其他方法[/size]
[解决办法]
TRUE和FALSE都是int的别名,直接改成返回int
[解决办法]
你的c++函数体是什么
c#怎么声明的
[解决办法]
调试时按Alt+8、Alt+6和Alt+5,打开汇编窗口、内存窗口和寄存器窗口看每句C#对应的CLI、每句C++对应的ASM、单步执行并观察相应内存和寄存器变化,这样过一遍不就啥都明白了吗。