Здравствуйте, Pavel Chikulaev, Вы писали:
PC>Включаем релиз и Maximize Speed /O2 и радуемся Компилятор повиснет и съест куча памяти
Павел, ты сам прекрасно понимаешь, что
1) ты написал оффтопик к обсуждаемому багу
2) maximize speed — это давно известный вестерн "быстрый-и-мёртвый", косяки там тянутся ещё со времён VC6
Здравствуйте, Pavel Chikulaev, Вы писали:
PC>Включаем релиз и Maximize Speed /O2 и радуемся Компилятор повиснет и съест куча памяти
А у этого бага ноги растут прямо их ж..ы
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, <Аноним>, Вы писали:
А>Здравствуйте, Кодт, Вы писали:
К>>2) maximize speed — это давно известный вестерн "быстрый-и-мёртвый", косяки там тянутся ещё со времён VC6
А>Извините можно подробней у меня в программе при maximize speed провляеться одна ошибка котрой в debug версии нет.
А>Функцию где происходит ошибка я нашел какой именно код приводит к ошибке определить не смог.
А>Имеет ли смысл пытаться локализовывать ошибку или отклчюить maximize speed? Даже если локализую мои дальнейшие дествия не понятны.
А>скорость работы между maximize speed и мин размер отличаеться минимум на порядок (программа активно парсит данные).
попробовать найти место, где компилер нагадил? Сравнить asm листинги например.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Еще один жёсткий БАГ MSVC7.1
От:
Аноним
Дата:
13.10.06 15:18
Оценка:
Здравствуйте, Константин Л., Вы писали:
КЛ>попробовать найти место, где компилер нагадил? Сравнить asm листинги например.
спасибо за ваш ответ
место я нашел это if с вызовом внешней dll переписывал этот if несколько раз резултат прежний
ошибка проявляеться только на одном наборе входных данных при компиляции мин размер не проявляеться
что обычно делают в таких случаях
можно ли отлкючить оптим только для одной функции на VC6?
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Константин Л., Вы писали:
КЛ>>попробовать найти место, где компилер нагадил? Сравнить asm листинги например.
А>спасибо за ваш ответ
А>место я нашел это if с вызовом внешней dll переписывал этот if несколько раз резултат прежний
А>ошибка проявляеться только на одном наборе входных данных при компиляции мин размер не проявляеться
А>что обычно делают в таких случаях А>можно ли отлкючить оптим только для одной функции на VC6?
ну вроде как можно для translation unit'а, те для файла. Вынеси нужные функции в этот файл и отключи оптимизацию
Re: Еще один жёсткий БАГ MSVC7.1
От:
Аноним
Дата:
14.10.06 14:33
Оценка:
Здравствуйте, Pavel Chikulaev, Вы писали:
PC>Здравствуйте, remark, Вы писали:
R>>Вот минимальный код, приводящий к ошибке:
PC>
PC>int main(int argc, char * argv[])
PC>{
PC> int k = 0;
PC> for(int i = 1; i < argc ; ++i)
PC> {
PC> //...
PC> }
PC> while ((k != 1) && (k >= 0))
PC> {
PC> //...
PC> }
PC> return 0;
PC>}
PC>
PC>Включаем релиз и Maximize Speed /O2 и радуемся Компилятор повиснет и съест куча памяти
Здравствуйте, Константин Л., Вы писали:
КЛ>Здравствуйте, Аноним, Вы писали:
А>>Здравствуйте, Константин Л., Вы писали:
КЛ>>>попробовать найти место, где компилер нагадил? Сравнить asm листинги например.
А>>спасибо за ваш ответ
А>>место я нашел это if с вызовом внешней dll переписывал этот if несколько раз резултат прежний
А>>ошибка проявляеться только на одном наборе входных данных при компиляции мин размер не проявляеться
А>>что обычно делают в таких случаях А>>можно ли отлкючить оптим только для одной функции на VC6?
КЛ>ну вроде как можно для translation unit'а, те для файла. Вынеси нужные функции в этот файл и отключи оптимизацию
Делается так:
#pragma optimize("", off) //see MSDN for full doc.
//Code compiled wrong in optimization
#pragma optimize("", on)
Ну или push-pop. Так исключите функцию дающую результат из компиляции.
Не стыдно попасть в дерьмо, стыдно в нём остаться!
Здравствуйте, demi, Вы писали:
D>Делается так:
D>#pragma optimize("", off) //see MSDN for full doc. D>//Code compiled wrong in optimization D>#pragma optimize("", on)
D>Ну или push-pop. Так исключите функцию дающую результат из компиляции.
Читать: дающую НЕВЕРНЫЙ результат компиляции.
Не стыдно попасть в дерьмо, стыдно в нём остаться!
Re: Еще один жёсткий БАГ MSVC7.1
От:
Аноним
Дата:
14.10.06 23:14
Оценка:
Здравствуйте, Pavel Chikulaev, Вы писали:
PC>
PC>int main(int argc, char * argv[])
PC>{
PC> int k = 0;
PC> for(int i = 1; i < argc ; ++i)
PC> {
PC> //...
PC> }
PC> while ((k != 1) && (k >= 0))
PC> {
PC> //...
PC> }
PC> return 0;
PC>}
PC>
PC>Включаем релиз и Maximize Speed /O2 и радуемся Компилятор повиснет и съест куча памяти
Microsoft Visual Studio 2005
Version 8.0.50727.42 (RTM.050727-4200)
Installed Edition: Professional
Microsoft Visual C++ 2005 77626-009-0013253-41245
— d:\work\111\111.cpp(53) : fatal error C1002: compiler is out of heap space in pass 2
Здравствуйте, Pavel Chikulaev, Вы писали:
PC>Здравствуйте, remark, Вы писали:
R>>Вот минимальный код, приводящий к ошибке:
PC>
PC>int main(int argc, char * argv[])
PC>{
PC> int k = 0;
PC> for(int i = 1; i < argc ; ++i)
PC> {
PC> //...
PC> }
PC> while ((k != 1) && (k >= 0))
PC> {
PC> //...
PC> }
PC> return 0;
PC>}
PC>
PC>Включаем релиз и Maximize Speed /O2 и радуемся Компилятор повиснет и съест куча памяти
Спасибо за bug report. Я починил в "живом" компиляторе. К сожалению, сейчас уже слишком поздно, и в VS2005 SP1 ошибка исправлена не будет. Ждите SP2 или VS9...