我正在将一个用 C 语言编写的 DLL 从 WinCE 5.0 移植到 ARM 目标上的 WinCE 6.0。此 DLL 由 .NET 软件调用。在 WinCE5.0 上,一切运行良好。在 WinCE6 上,我有以下问题:
在我的 DLL 的 InitInstance() 上,我可以毫无问题地调用任何东西(例如 MessageBox())或使用递归。
过了这一点,.NET 代码调用 DLL。然后它失败了:即使是 .NET 代码传递的参数也看起来很奇怪。我可以调用 MessageBox() 一次,但我不能调用调用 MessageBox() 然后调用自身的函数:递归性被破坏。
似乎 .NET 代码使用堆栈的方式与我的 C 代码不同。
我对 Windows 世界非常陌生,为我提供 .NET 应用程序的公司还不明白为什么会出现这样的失败。
欢迎任何指针/提示/建议!
谢谢!