簡體   English   中英

為什么我的 64 位程序成功調用了 32 位 DLL?

[英]How come my 64-bit program is calling a 32-bit DLL successfully?

我有一個 C# 程序,為平台目標 x64 編譯。 它使用 C1.C1Zip,一個 dll 文件來處理 Zip 文件。 檢查 C1.C1Zip.dll,它是一個 32 位 dll(PE 解構器這么說 - 32 位字)。 但我的程序絕對是 64 位的(任務管理器這么說 - 詳細信息選項卡說平台 64 位)。

我剛剛成功運行了使用 C1.C1Zip dll 的代碼,並且運行良好。 我被告知這是不可能的。

怎么會這樣?

我可以運行哪些額外的診斷程序來確保我的主程序確實是 64 位的?

因為它不是一個原生的 dll 開始。 它是托管代碼 - 字節碼 - 只有。 在這種情況下,32 位或 64 位與起始 exe 文件相關(確定進程是運行 32 位還是 64 位),但與稍后加載的本機程序集無關。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM