请问这是什么错误,为什么我的函数内不能调用malloc?
c语言吧
全部回复
仅看楼主
level 1
1hanfamily 楼主
然后我把一个函数里的malllc分配去掉,就ok了,这是为什么?
2019年12月05日 12点12分 1
level 13
坐等一个不堪代码就能找出问题的大佬
2019年12月05日 13点12分 2
level 6
这个错误一般是代码内存越界破坏了堆导致malloc失败.
你找找你的代码有没有内存越界的情况.
2019年12月05日 14点12分 3
这号诡异,我放到别的机器上又能运行了,让后重新在本机器上运行,也可以了。这是什么鬼,好奇怪
2019年12月05日 14点12分
@1hanfamily 我仔细查阅malloc分配原理才知道原因,如果使用空间大于实际分配的malloc空间,会占用其他heap区,也许程序能正常malloc,也许后续程序不能malloc。取决于每个机器和操作系统的内存地址映射和虚拟内存管理。所以两台机器对malloc超出内存的范围不一样,从而一个正常一个运行不了[泪]
2019年12月05日 16点12分
level 11
有任何问题可以来有大神免费解答
2019年12月05日 14点12分 4
1