C#问题:32位的Dll在64位机子上兼容问题

2025-03-25 01:21:49
推荐回答(1个)
回答1:

visual studio只有32位版本,忍忍吧,64位的编译器才是个半成品。

在生成DLL时记得勾上,检查64位兼容性【会牺牲一点点效率】。

而且intel的64位模式是IA-32e模式子模式之一,

IA-32e有两种子模式

  1. 兼容模式

  2. 64位模式

比如说 inc 指令在保护模式(一般指IA-32模式)下操作数编码为 48h

在IA-32e模式下48h 被编码为REX前缀,于是乎就出错了。

检查64位兼容性只是选择同效且无冲突的指令。