致力于将32位Windows C++应用程序移植到64位.不幸的是,代码在DWORD和指针值之间的两个方向上使用频繁的转换.
其中一个想法是在进程启动期间尽早保留前4GB的虚拟进程空间,以便所有后续的保留内存调用都来自大于4 GB的虚拟地址.这将导致访问冲突错误从指向DWORD的任何不安全的强制转换,然后返回指针,将有助于提前捕获错误.
当我查看一个非常简单的单行C++程序的内存映射时,底部4GB内有很多库加载?有没有办法确保所有库等只加载4GB以上?
谢谢
c++ 64-bit winapi x86-64
64-bit ×1
c++ ×1
winapi ×1
x86-64 ×1