почему лезут варнинги при использовании STL ?
От: Socket Ниоткуда http://www.samborsky.com
Дата: 02.08.07 16:02
Оценка:
Не могу понять почему лезут варнинги при компиляции программы с использованием STL.
Работает все четко, но раз варнинги есть наверное не все ОК ?


CUrl.cpp
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\ostream(574) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\istream(828) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\istream(1064) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\ostream(479) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
        c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\ostream(471) : while compiling class-template member function 'std::basic_ostream<_Elem,_Traits>::_Myt &std::basic_ostream<_Elem,_Traits>::put(_Elem)'
        with
        [
            _Elem=wchar_t,
            _Traits=std::char_traits<wchar_t>
        ]
        c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\ostream(561) : see reference to class template instantiation 'std::basic_ostream<_Elem,_Traits>' being compiled
        with
        [
            _Elem=wchar_t,
            _Traits=std::char_traits<wchar_t>
        ]
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\ostream(479) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
        c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\ostream(471) : while compiling class-template member function 'std::basic_ostream<_Elem,_Traits>::_Myt &std::basic_ostream<_Elem,_Traits>::put(_Elem)'
        with
        [
            _Elem=char,
            _Traits=std::char_traits<char>
        ]
        c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\ostream(922) : see reference to class template instantiation 'std::basic_ostream<_Elem,_Traits>' being compiled
        with
        [
            _Elem=char,
            _Traits=std::char_traits<char>
        ]
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\istream(99) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
        c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\istream(89) : while compiling class-template member function 'bool std::basic_istream<_Elem,_Traits>::_Ipfx(bool)'
        with
        [
            _Elem=wchar_t,
            _Traits=std::char_traits<wchar_t>
        ]
        c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\istream(816) : see reference to class template instantiation 'std::basic_istream<_Elem,_Traits>' being compiled
        with
        [
            _Elem=wchar_t,
            _Traits=std::char_traits<wchar_t>
        ]
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\istream(99) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
        c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\istream(89) : while compiling class-template member function 'bool std::basic_istream<_Elem,_Traits>::_Ipfx(bool)'
        with
        [
            _Elem=char,
            _Traits=std::char_traits<char>
        ]
        c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\istream(1054) : see reference to class template instantiation 'std::basic_istream<_Elem,_Traits>' being compiled
        with
        [
            _Elem=char,
            _Traits=std::char_traits<char>
        ]
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\xstring(1453) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
        c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\xstring(1444) : while compiling class-template member function 'void std::basic_string<_Elem,_Traits,_Ax>::_Copy(std::basic_string<_Elem,_Traits,_Ax>::size_type,std::basic_string<_Elem,_Traits,_Ax>::size_type)'
        with
        [
            _Elem=char,
            _Traits=std::char_traits<char>,
            _Ax=std::allocator<char>
        ]
        c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\stdexcept(39) : see reference to class template instantiation 'std::basic_string<_Elem,_Traits,_Ax>' being compiled
        with
        [
            _Elem=char,
            _Traits=std::char_traits<char>,
            _Ax=std::allocator<char>
        ]
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\xstring(1453) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
        c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\xstring(1444) : while compiling class-template member function 'void std::basic_string<_Elem,_Traits,_Ax>::_Copy(std::basic_string<_Elem,_Traits,_Ax>::size_type,std::basic_string<_Elem,_Traits,_Ax>::size_type)'
        with
        [
            _Elem=char,
            _Traits=std::char_traits<char>,
            _Ax=std::_DebugHeapAllocator<char>
        ]
        c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\xdebug(99) : see reference to class template instantiation 'std::basic_string<_Elem,_Traits,_Ax>' being compiled
        with
        [
            _Elem=char,
            _Traits=std::char_traits<char>,
            _Ax=std::_DebugHeapAllocator<char>
        ]
Creating library...
Performing Post-Build Event...
http://www.samborsky.com — мой блог
Re: почему лезут варнинги при использовании STL ?
От: quodum  
Дата: 02.08.07 16:10
Оценка:
Здравствуйте, Socket, Вы писали:

[]

Сделай как советуют ("Specify /EHsc"). У тебя, очевидно, выключена поддержка исключений в опциях компилятора. Все работает только потому, что исключения внутри STL не происходят (везучий ты), а как возникнет исключение -- тут и трындец всему придет.
Re[2]: почему лезут варнинги при использовании STL ?
От: Socket Ниоткуда http://www.samborsky.com
Дата: 02.08.07 16:16
Оценка:
Здравствуйте, quodum

Исключения действительно выключены при компиляции

Code Generation -> Enable C++ Exception = No
http://www.samborsky.com — мой блог
Re[3]: почему лезут варнинги при использовании STL ?
От: quodum  
Дата: 02.08.07 16:18
Оценка:
Здравствуйте, Socket, Вы писали:
[]
S>Code Generation -> Enable C++ Exception = No
На это он и жалуется. /EHsc -- комманд-лайновый аналог этой опции.
Re[4]: почему лезут варнинги при использовании STL ?
От: Socket Ниоткуда http://www.samborsky.com
Дата: 02.08.07 16:22
Оценка:
Здравствуйте, quodum, Вы писали:

Q>Здравствуйте, Socket, Вы писали:

Q>[]
S>>Code Generation -> Enable C++ Exception = No
Q>На это он и жалуется. /EHsc -- комманд-лайновый аналог этой опции.


тоесть страшного ничего нет?
я специально отключаю C++ Exp, т.к. я в каждой своей функции использую макросы, которые показывают инфу о вылете,
т.е. так сказать наоборот пусть вылетает, чтобы знать где в моей процедуре баг.
http://www.samborsky.com — мой блог
Re[5]: почему лезут варнинги при использовании STL ?
От: quodum  
Дата: 02.08.07 16:43
Оценка:
Здравствуйте, Socket, Вы писали:

S>тоесть страшного ничего нет?


Ну как же ничего страшного? А если все-таки вылетит исключение? Код-то их бросающий в STL есть, даже если у Вас его нет. Я не знаю, как поступит в такой ситуации MSVC, но вариантов у него немного:
* убить программу с помощью abort()
* продолжить исполнение после throw, наплевав на логику кода (и скорее всего навернуться по access violation непонятно где)

S>я специально отключаю C++ Exp, т.к. я в каждой своей функции использую макросы, которые показывают инфу о вылете,

S>т.е. так сказать наоборот пусть вылетает, чтобы знать где в моей процедуре баг.

Непонятно, почему для этого надо отключать поддержку исключений. Непонятно, как Ваши макросы узнают о вылете при отключенных исключениях.
Re[5]: почему лезут варнинги при использовании STL ?
От: Кодт Россия  
Дата: 02.08.07 17:16
Оценка:
Здравствуйте, Socket, Вы писали:

S>тоесть страшного ничего нет?

S>я специально отключаю C++ Exp, т.к. я в каждой своей функции использую макросы, которые показывают инфу о вылете,
S>т.е. так сказать наоборот пусть вылетает, чтобы знать где в моей процедуре баг.

Исключение — это не признак бага в программе, а скорее, признак мусора во внешнем мире (во входных данных). Особенно это касается ввода-вывода.
... << RSDN@Home 1.2.0 alpha rev. 655>>
Перекуём баги на фичи!
Re[5]: почему лезут варнинги при использовании STL ?
От: Аноним  
Дата: 02.08.07 19:37
Оценка:
Здравствуйте, Socket, Вы писали:

S>тоесть страшного ничего нет?

S>я специально отключаю C++ Exp, т.к. я в каждой своей функции использую макросы, которые показывают инфу о вылете,
S>т.е. так сказать наоборот пусть вылетает, чтобы знать где в моей процедуре баг.

Ты наверняка пишешь в одиночку..
У тебя странное понимание для чего нужны исключения.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.