我的程序中出现malloc(180K)错误,因此我对它们进行了评论,并将下面的代码写在同一个文件中。它仍然返回一个糟糕的ptr。 (我在返回时通过断点得到它)
int main (int argc, char *argv[])
{
char *b = (char *)malloc(sizeof(char)*1000000);
return EXIT_SUCCESS;
}
我想这个问题出现在我的电脑上,所以我打开了一个相同条件的其他程序(使用了46%的内存),(我没有关闭前项目),我先在main()
中编写相同的代码,malloc
正常返回。
应该是什么问题?
答案 0 :(得分:1)
我向SCE提出了这个问题,并得到回应说他们在Play station 4项目中增加了一些限制。我必须声明一个全局可行的size_t sceLibcHeapSize = 1*1024*1024*50;
来设置堆,否则它的默认值是64K或256K?(我忘了它..)