相关疑难解决方法(0)

对于32位Windows可执行文件使用/ LARGEADDRESSAWARE的缺点是什么?

我们需要将其中一个可执行文件与此标志链接,因为它使用大量内存.
但为什么要给一个EXE文件特殊处理.为什么不标准化/ LARGEADDRESSAWARE?

所以问题是:即使你不需要它,使用/ LARGEADDRESSAWARE也有什么问题.为什么不将它用作所有EXE文件的标准?

memory windows memory-management virtual-address-space

32
推荐指数
3
解决办法
2万
查看次数

由于LARGEADDRESSAWARE,检测指针算术

我想将我的应用程序切换到LARGEADDRESSAWARE.需要注意的一个问题是指针算法,因为指针差异不能再表示为带符号32b.

有没有办法如何在大型C++项目中自动查找指针减法的所有实例?

如果没有,是否有一些"尽力而为"的手动或半自动方法如何实现这一目标?

c++ pointers static-analysis visual-studio

8
推荐指数
1
解决办法
2030
查看次数

链接到大地址识别DLL

假设我有一个使用LARGEADDRESSAWARE链接器标志集构建的DLL.现在我有一个动态链接到这个DLL的应用程序.这是否使我的应用程序LARGEADDRESSAWARE?

如果没有,那么为任何DLL设置此标志是否有意义?

windows dll winapi memory-management

7
推荐指数
1
解决办法
2401
查看次数

在Linux上,在C/C++中,指针是否会设置MSB?

我想使用一个长整数,当设置MSB时它将被解释为数字,否则它将被解释为指针.那么这项工作还是会遇到C或C++中的问题?

这是在64位系统上.

编辑清晰和更好的描述.

c c++ linux pointers

3
推荐指数
2
解决办法
684
查看次数

malloc()失败尽管有足够的空闲内存

我在具有16GB RAM的PC上运行Windows-7-64.我启动机器并启动Visual Studio 2015.我也启动资源监视器,它告诉我我的内存安排如下:

硬件预留:116MB使用中:2,917 MB修改:79MB待机:2,360MB免费:10,912MB

然后我执行这个程序,我正在调试模式下开发.该程序尝试malloc()1,292,000,000字节并失败.这是在程序开始运行时.它没有事先做任何malloc()/ free()操作.如果我在发布模式下运行相同的程序,那么它会成功.

知道如何解决这个问题吗?

c++ memory-management visual-studio-2015

1
推荐指数
1
解决办法
338
查看次数