首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET &C在WinCE 6.0上的堆栈调用约定

.NET &C在WinCE 6.0上的堆栈调用约定
EN

Stack Overflow用户
提问于 2010-02-24 14:05:52
回答 1查看 128关注 0票数 0

我正在将用C编写的DLL从WinCE 5.0移植到ARM目标上的WinCE 6.0。这个DLL由一个.NET软件调用。在WinCE5.0上,一切都很好。在WinCE6上,我有以下问题:

  • on InitInstance()的DLL,我可以毫无问题地调用任何东西(例如MessageBox())或者使用MessageBox这一点,DLL是由.NET代码调用的。然后它失败了:甚至.NET代码传递的参数看起来也很奇怪。我可以调用MessageBox()一次,但不能调用调用MessageBox()然后调用自身的函数:递归性被破坏。

.NET代码似乎以与我的C代码不同的方式使用堆栈。

我对Windows非常不熟悉,给我提供.NET应用程序的公司还不明白为什么会有这样的失败。

任何指针/提示/建议欢迎!

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2010-03-08 10:47:17

看来调用约定在某一点上发生了变化,在EV4 4/WinCE6 5上编译并由某些.NET代码调用的DLL与为at 2008/WinCE6 6编译的同一个DLL之间。现在我的DLL收到一个指向宽字符的指针,而不是一个对象.条件编译解决了我的问题,而我本来希望从某个官方医生那里得到一个“真实”的解释。不管怎样,事情现在已经解决了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2326514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档