_Unwind_SjLj_Unregister 和 _Unwind_SjLj_Register 是什么?在我的 gprof 报告中,我将他们列为我的顶级处理器时间用户。谷歌只返回链接给抱怨这两个错误的人。
这是我报告中唯一有时间的部分!= 0:
Flat profile:
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls ms/call ms/call name
33.33 0.03 0.03 _Unwind_SjLj_Unregister
22.22 0.05 0.02 _Unwind_SjLj_Register
11.11 0.06 0.01 13886 0.00 0.00 toint(std::string, int)
11.11 0.07 0.01 4380 0.00 0.00 hexlify(std::string)
11.11 0.08 0.01 2994 0.00 0.00 std::_Deque_iterator<unsigned char, unsigned char const&, unsigned char const*>::operator+(int) const
11.11 0.09 0.01 std::string::assign(char const*, unsigned int)
我正在运行 Windows 7 x64,并使用代码块 10.05 gcc 进行编译
编辑:
在启用强制程序运行 64 秒的功能后,它现在看起来像:
Flat profile:
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls s/call s/call name
8.45 3.49 3.49 _Unwind_SjLj_Register
7.36 6.53 3.04 4000006 0.00 0.00 CAST128::setkey(std::string)
5.86 8.95 2.42 _Unwind_SjLj_Unregister
4.36 10.75 1.80 64000080 0.00 0.00 CAST128::F(int&, unsigned int&, unsigned int&, unsigned char&)
3.68 12.27 1.52 __dynamic_cast
3.37 13.66 1.39 std::string::_Rep::_S_create(unsigned int, unsigned int, std::allocator<char> const&)
3.25 15.00 1.34 std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
2.88 16.19 1.19 std::istreambuf_iterator<char, std::char_traits<char> > std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_M_extract_int<unsigned long long>(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate&, unsigned long long&) const