小编Kan*_*ang的帖子

调整大型结构矢量大小的分段错误

下面的代码产生了一个segementation故障,我不明白为什么.下面的代码使用向量来存储多个大型结构,但代码不会运行并产生分段错误.我不明白为什么.我的理解是vector resize在堆中分配内存,所以这不应该是堆栈溢出问题.我的系统具有非常大的物理内存(256 GB),代码以64位模式编译,因此仅分配40 MB应该不是问题.有任何想法吗?

非常感谢你提前,

#include <vector>

using namespace std;

typedef struct _tmp_t {
    int a_data[10*1000*1000];/* large array */
} tmp_t;

int main( void ) {
    vector<tmp_t> v_tmp;

    v_tmp.resize( 1 );

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ struct vector segmentation-fault

3
推荐指数
1
解决办法
2735
查看次数

标签 统计

c++ ×1

segmentation-fault ×1

struct ×1

vector ×1