[英]Question about Win7 64 bit
我有一個加載DLL的32位C ++ / MFC應用程序(X)。
我還有另一個加載相同DLL的32位.NET 3.5應用程序(Y)。
當我在Windows 7 64位環境下測試這些應用程序時,X會毫無問題地加載DLL。 但是,Y一旦嘗試從DLL調用函數就會崩潰。
我的問題是:如何使Y正常工作。
我是否需要某種特殊命令來表明它是32位DLL?
提前致謝!
問候,
傑弗龍納
通常,當事情“崩潰”時,會出現錯誤消息。 此錯誤消息通常很有用。 在沒有此消息的情況下,我只能猜測。
我猜想您的.net應用以“ AnyCPU”為目標,因此在64位計算機上,它作為64位進程運行。 64位進程無法加載32位DLL。 如果將其切換為“ 32位”目標,則它將再次運行。
或者,您可以將DLL編譯為64位,但這可能會更棘手。
如果將.Net應用程序編譯為平台無關的,則它將在32位平台上以32位和64位平台上以64位的形式執行您的應用。
在后一種情況下,您的應用程序嘗試加載32位DLL時可能會崩潰,因為64位應用程序只能加載64位DLL。
明確將您的.Net應用編譯為32位。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.