Dot-Net

在 x64 和 x86 上執行 .net 程序是否需要考慮任何因素?

  • February 18, 2011

我相信架構類型(x86 與 x64)在您製作 .Net 程序時已為您抽像出來,但還有其他可能導致問題的考慮因素嗎?

謹防秘密進行 win32 呼叫的第三方 COM 庫或第三方 .NET 庫。這就是我們最頭疼的地方。

來自MSDN doco,除其他注意事項外:

在許多情況下,程序集在 32 位或 64 位 CLR 上執行相同。程序在 64 位 CLR 上執行時表現不同的一些原因包括:

  • 包含根據平台更改大小的成員的結構,例如任何指針類型。
  • 包含常量大小的指針算法。
  • 不正確的平台呼叫或 COM 聲明使用 Int32 而不是 IntPtr 作為句柄。
  • 將 IntPtr 轉換為 Int32

此外,預設文件位置。

引用自:https://stackoverflow.com/questions/145026