Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
分段故障(堆芯转储)C++;因为我使用了大量的内存 在C++中,我使用我的“用户”类,而我的代码只有以下3行: cout<<"size of user = "<<sizeof(user)<<endl; //prints 160 cout<<"size of all users = "<<NUM_OF_USERS*sizeof(user)<<endl; user users[NUM_OF_USERS]; //creates an array of users of size NUM_OF_USERS._C++_Memory_Segmentation Fault_Coredump - Fatal编程技术网

分段故障(堆芯转储)C++;因为我使用了大量的内存 在C++中,我使用我的“用户”类,而我的代码只有以下3行: cout<<"size of user = "<<sizeof(user)<<endl; //prints 160 cout<<"size of all users = "<<NUM_OF_USERS*sizeof(user)<<endl; user users[NUM_OF_USERS]; //creates an array of users of size NUM_OF_USERS.

分段故障(堆芯转储)C++;因为我使用了大量的内存 在C++中,我使用我的“用户”类,而我的代码只有以下3行: cout<<"size of user = "<<sizeof(user)<<endl; //prints 160 cout<<"size of all users = "<<NUM_OF_USERS*sizeof(user)<<endl; user users[NUM_OF_USERS]; //creates an array of users of size NUM_OF_USERS.,c++,memory,segmentation-fault,coredump,C++,Memory,Segmentation Fault,Coredump,因此,没有其他问题(没有指针或任何东西)。问题是此类的大量对象没有内存(需要16000000字节=16MB) 我使用的是一台UNIX机器,它有相当大的内存,所以我认为16MB不是很多。那么,如何增加这个特定进程的内存呢?数据是在堆栈上分配的。堆栈大小有限,无法调整大小。使用std::vector或new[]在堆上分配如此大的块,数据在堆栈上分配。堆栈大小有限,无法调整大小。使用std::vector或new[]在堆上分配如此大的块,数据在堆栈上分配。堆栈大小有限,无法调整大小。使用std::ve

因此,没有其他问题(没有指针或任何东西)。问题是此类的大量对象没有内存(需要16000000字节=16MB)


我使用的是一台UNIX机器,它有相当大的内存,所以我认为16MB不是很多。那么,如何增加这个特定进程的内存呢?

数据是在堆栈上分配的。堆栈大小有限,无法调整大小。使用
std::vector
new[]
在堆上分配如此大的块,数据在堆栈上分配。堆栈大小有限,无法调整大小。使用
std::vector
new[]
在堆上分配如此大的块,数据在堆栈上分配。堆栈大小有限,无法调整大小。使用
std::vector
new[]
在堆上分配如此大的块,数据在堆栈上分配。堆栈大小有限,无法调整大小。使用
std::vector
new[]

在堆上分配如此大的块,您正在堆栈上创建的数组的空间限制为几MB或更少。尝试使用
std::vector用户(用户数)。您正在堆栈上创建的数组的空间限制为几MB或更少。尝试使用
std::vector用户(用户数)。您正在堆栈上创建的数组的空间限制为几MB或更少。尝试使用
std::vector用户(用户数)。您正在堆栈上创建的数组的空间限制为几MB或更少。尝试使用
std::vector用户(用户数)取而代之。谢谢!我把它分配到堆上,效果很好!将其更改为user*users=新用户[NUM_OF_users];非常感谢。我把它分配到堆上,效果很好!将其更改为user*users=新用户[NUM_OF_users];非常感谢。我把它分配到堆上,效果很好!将其更改为user*users=新用户[NUM_OF_users];非常感谢。我把它分配到堆上,效果很好!将其更改为user*users=新用户[NUM_OF_users];
Segmentation fault (core dumped)