gpt4 book ai didi

c++ - main 之前 C++ 程序中的奇怪段错误

转载 作者:太空狗 更新时间:2023-10-29 23:21:54 28 4
gpt4 key购买 nike

在一些内存测试中,我从以下程序中得到了一个段错误:

#include <string>
#include <iostream>
using namespace std;

int main()
{
cout << "Beginning Test" << endl;
const int N = 2000000;
string sArray[N];
return 0;
}

因为我在打印“开始测试”之前遇到了段错误,所以我在 GDB 中运行它并检查了回溯,我唯一得到的是:

Program received signal SIGSEGV, Segmentation fault.
0x00000000004008c5 in main () at Main.cxx:11
11 string sArray[N];
(gdb) bt
#0 0x00000000004008c5 in main () at Main.cxx:11

对我来说最奇怪的是,如果我将 N 设置为 1000000 (1M) 而不是 2000000 (2M),我不会得到段错误

有什么问题的线索吗?

我使用的是 Linux Red-Hat 2.6.18 和 g++ (GCC) 4.1.2。

谢谢!

最佳答案

堆栈溢出...

是故意的,不是吗?

关于c++ - main 之前 C++ 程序中的奇怪段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8667229/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com