Cannot access memory at address XXXXX
(2013-05-31 22:01:58)
标签:
it |
分类: 计算机基础知识 |
这个可能是程序的堆栈溢出了。
1,在linux下面 如果有root权限 可以通过命令:ulimit -s
unlimited设置程序堆栈大小为不限大。
默认为8192
2,通过修改编译选项 提高堆栈大小
gcc有一个-Wl选项,其后面的参数是要传递给连接器ld的,在ld版本2.10中有这么一个选项:--stack ,用于设置程序的栈大小。
现在的问题是我系统中的ld版本是2.16的,通过ld--help查之已经没有了这个--stack选项,因此无法编译链接成功。
请问:
(1)现在版本的gcc(3.3.6或4.0)或ld中有什么选项可以实现设置栈大小的功能?
(2)如果要安装旧版本的gcc或ld(特别是ld)可行吗?如何卸载现在的ld版本并安装旧版本的ld??
先谢谢各位了!
现在的问题是我系统中的ld版本是2.16的,通过ld
请问:
(1)现在版本的gcc(3.3.6或4.0)或ld中有什么选项可以实现设置栈大小的功能?
(2)如果要安装旧版本的gcc或ld(特别是ld)可行吗?如何卸载现在的ld版本并安装旧版本的ld??
先谢谢各位了!
前一篇:可能会影响调试的编译选项