Today wrote the program appeared "paragraph error (core has been transferred)" problem, looked up the information, coupled with their own practice, summed up the following several aspects of the reasons.
1. Memory Access Error
The typical representation of this type of problem is that arrays are out of bounds.
2. Illegal memory access
This type of problem is mainly caused by a program attempting to access kernel segment memory.
3. Stack Overflow
Linux defaults to a process that allocates a stack space of 8M. When a C + + Application variable is applied, the variable requested by the new operation is in the heap, and other variables are generally stored in the stack.
So if your array is too big to change, this problem will occur.
First, let's look at the resources that the system assigns by default:
1 ulimit-a
You can see that the default allocated stack size is 8M.
If you really need a larger stack space, you can use the instruction ulimit-s xxxx to apply for a larger stack space.
Cause of "segment error (Core dump)" in running C + + program under Linux