我正在將一個用C編寫的WinCE 5.0中的DLL移植到ARM目標上的WinCE 6.0中。這個DLL由.NET軟件調用。在WinCE5.0上,一切運行良好。在WINCE6,我有以下問題:我的DLL的WinCE 6.0上的.NET和C之間的堆棧調用約定
上的InitInstance(),我可以調用沒有任何問題(例如消息框()),或者使用遞歸性。
通過這一點,該DLL由.NET代碼調用。然後它失敗了:即使通過.NET代碼傳遞的參數看起來很奇怪。我可以調用MessageBox()一次,但我不能調用調用MessageBox()的函數,然後調用它自己:遞歸性被破壞。
看來,.NET代碼以不同於我的C代碼的方式使用堆棧。
我對Windows世界非常陌生,給我.NET應用程序的公司不明白爲什麼會出現這樣的失敗。
任何指針/提示/建議歡迎!
謝謝!
爲Compact Framework設計的.Net程序集?你有兩個設備上安裝的相同版本的緊湊框架? – 2010-02-24 16:12:31