写错一个括号害得gcc吃掉3G多内存

本来应该是

const char* test_data[] = {
"",
"./test.lock",
"/tmp/test.lock",
"你好",
"a你好",
};
test->add(BOOST_PARAM_TEST_CASE(&utf8len,(const char**)test_data,
(const char**)test_data+sizeof(test_data)/sizeof(const char*)));
boost::unit_test::framework::run(test);
}

结果写成了

const char* test_data[] = {
"",
"./test.lock",
"/tmp/test.lock",
"你好",
"a你好",

test->add(BOOST_PARAM_TEST_CASE(&utf8len,(const char**)test_data,
(const char**)test_data+sizeof(test_data)/sizeof(const char*)));
boost::unit_test::framework::run(test);
};
}

然后gcc吃掉3G多内存后,虚拟内存耗尽。系统 巨慢

若是在Freebsd下,必然被kill了

此博客中的热门博文

少写代码,多读别人写的代码

在windows下使用llvm+clang

tensorflow distributed runtime初窥