ACE_wrappers
Кто работает с библиотекой ACE_wrappers под Линуксом? Приглашаю к общению.
Кто работает с библиотекой ACE_wrappers под Линуксом? Приглашаю к общению.
Кто подскажет как на c/c++ округлить вещественное число с заданной точность. функции trunc и round округляют до целой части, а мне необходимо дробную округлять. Может кто знает Что-нибудь поэффективнее чем выделить дробную часть, округлить как целое, а потом вернуть обратно.
Скачал себе исходник gcc-3.2.tar.gz и попытался откомпилировать. Следующим образом: ./configure --host=i686-pc-linux-gnu --enable-threads=posix --prefix=/usr make
После чего make выдала следующую ошибку: In file included from locale.cc:406: /gcc-3.2/srcdir/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu/bits/ct ype_noninline.h: In static member function `static const short unsigned int* std::ctype<char>::classic_table()': /gcc-3.2/srcdir/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu/bits/ct ype_noninline.h:45: ` __ctype_b' undeclared (first use this function) /gcc-3.2/srcdir/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu/bits/ct ype_noninline.h:45: (Each undeclared identifier is reported only once for each function it appears in.)
Почему она возникла - ведь это по идее стабильный релиз. Может кто сталкивался? компилил с помощью gcc3.0.3
Установил себе rh80 который содержит компилятор gcc3.2 и получил следующую проблему: при использовании потока fstream не находится конец файла. Вот этот простой фрагмент кода, который работал при компилировании gcc3.0.3 и раньше, вызывает ошибку сегментации при попытке выполнить getline за концом файла, так как не отслеживается конец файла - infile->eof() всегда возвращает false. std::fstream *infile = new std::fstream; infile->open( "/home/projects/proba-prj/Makefile", std::ios::in ); if( !(*infile) ) { std::cerr<<"Ошибка открытия файла"<<std::endl; exit(-1); } std::string textline; while ( !infile->eof()) { getline( *infile, textline); std::cout<<infile->eof()<<std::endl; std::cout<<infile->good()<<std::endl; std::cout<<infile->bad()<<std::endl; std::cout<<infile->fail()<<std::endl; } } Что с этим делать? Может они что-то изменили, а я об этом не знаю?