【发布时间】:2011-03-04 09:09:11
【问题描述】:
我想将我的应用程序切换到 LARGEADDRESSAWARE。需要注意的问题之一是指针运算,因为指针差异不能再表示为有符号 32b。
有什么方法可以自动找到大型 C++ 项目中的所有指针减法实例?
如果没有,是否有一些“最省力”的手动或半自动方法来实现这一点?
【问题讨论】:
-
您的意思是您正在为具有 64 位地址空间的系统构建应用程序,但编译器仅使用 32 位指针?
-
"LARGEADDRESSAWARE" 是可执行文件头中的 Windows32 标志,它告诉操作系统可执行文件可以处理 32 位地址。没有它,您将获得 31 位地址(即最高位始终为 0),然后为操作系统保留地址空间的后半部分。
标签: c++ visual-studio pointers static-analysis