Gerçekten bununla ne yapacağını bilmiyorum - bir dizeye bellek ayırırken programım çöküyor, çoğu zaman bu zararsız kodda 'ss < <' t atBir dize için bellek ayırırken SIGSEGV/SIGABRT alma
template <class T>
inline string to_string (const T& t, bool use_fixed = false)
{
stringstream ss;
if (use_fixed) ss.setf(ios::fixed, ios::floatfield);
ss << t;
return ss.str();
}
Özellikle kilitleniyor: bağlamlarda bir soruna neden olmamıştı. t tür int, == 0 idi. Böyle yığın izleme bakmak son hatları (ne yazık ki, ben bir ekran görüntüsü göndermek için çok yeniyim):
sahip olduğu Aklıma o şimdi benim programla farklı sadece muhtemelen alakalı bir şey olduğunu
0 ??
1 malloc
2 operator new(unsigned int)
3 std::string::_Rep::_S_create(unsigned int, unsigned int, std::allocator<char> const&)
4 std::string::_Rep::_M_clone(std::allocator<char> const&, unsigned int)
5 std::string::reserve(unsigned int)
6 std::basic_stringbuf<char, std::char_traits<char>, std:allocator<char> >::overflow(int)
...
o Birden fazla iş parçacığı ve birden çok iş parçacığı olan bir alt işlem başlatır ve bu işlevi de çağırır. Ubuntu 10.04'deyim. Teşekkür senin consideration--
Matt
Tam bir yığın izi göndermeniz mümkün mü? Daha fazla bağlam olmadan neler olduğunu söylemek zor. Ayrıca, ilgili hatanın kendini gösterdiği kodla ilgisi olmaması da mümkündür. Tahminimce bir yerlerde dizi sınırlarının aşılması. Ne bulduğunuzu görmek için programınızı Valgrind veya DUMA'da çalıştırmayı deneyebilirsiniz. – Tristan
Ne yazık ki, tam bir yığın izlemesi, benim => 10 olana kadar ve bir ekran görüntüsü yayınlayabildiğim zamana kadar mümkün değildir. :) Daha önce hiç valgrind kullanmamıştım, bunu göreceğim. –
Neler olduğunu anladın mı? – highBandWidth