Цитата(Dray @ 27.5.2005, 17:25) | Что он делает? |
Включает раскрутку стека при пробрасывании исключения. Вот простейший пример:
Код | #include <iostream>
class A { public: A() { } ~A() { std::cerr << "A destructed\n"; } };
int main() { try { A a; throw "exception!"; } catch (char *e) { std::cerr << e << " handled\n"; } return 0; } |
Без -EHsc выводит:
с ним:
Код | A destructed exception! handled
|
Вывод: включать обязательно при использовании исключений (да и без них, пожалуй стоит - оверхед, имхо, близок к нулю). В STL они используются очень активно - лично я на такое количество варнингов смотреть не могу, даже вопроса не возникает, включать или не включать |