проблема с работой программы на с/c++
От: SergeySY sergeysy.narod.ru
Дата: 30.09.03 09:27
Оценка:
Проблема в следующем есть проект (не мой, взят с диска к книге "программирование звука на PC") написанный на Visual C++ с использовванием MFC, так вот Release версия программы работает, а Debug версия выдает сообщение об ошибке как только начинается работа со строками. и по всем признакам эти глюки из-за настроек проекта. чего может быть? если надо то вот проект sergeysy.nm.ru/sound_all.zip
Re: проблема с работой программы на с/c++
От: Sergey Россия  
Дата: 30.09.03 09:32
Оценка:
Hello, SergeySY!
You wrote on Tue, 30 Sep 2003 09:27:27 GMT:

S> Проблема в следующем есть проект (не мой, взят с диска к книге

S> "программирование звука на PC") написанный на Visual C++ с
S> использовванием MFC, так вот Release версия программы работает, а Debug
S> версия выдает сообщение об ошибке как только начинается работа со
S> строками. и по всем признакам эти глюки из-за настроек проекта. чего
S> может быть? если надо то вот проект sergeysy.nm.ru/sound_all.zip

Симптомы проблемы снимаются после изменения Debug Info c "Program Database for Edit & Continue" на "Program Database". Сама проблема заключается в неподобающем обращении со строковыми литералами — константные они, нефиг их менять.
Если я не угадал — ищи другого телепата

Best regards,
Sergey.
Posted via RSDN NNTP Server 1.7 "Bedlam"
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[2]: проблема с работой программы на с/c++
От: SergeySY sergeysy.narod.ru
Дата: 30.09.03 09:39
Оценка:
Здравствуйте, Sergey, Вы писали:


S>Симптомы проблемы снимаются после изменения Debug Info c "Program Database for Edit & Continue" на "Program Database". Сама проблема заключается в неподобающем обращении со строковыми литералами — константные они, нефиг их менять.

S>Если я не угадал — ищи другого телепата

S>Best regards,

S> Sergey.

В том то и дело что они НЕ константы.
Re[3]: проблема с работой программы на с/c++
От: Sergey Россия  
Дата: 30.09.03 10:01
Оценка:
Hello, SergeySY!
You wrote on Tue, 30 Sep 2003 09:39:33 GMT:

S>> Симптомы проблемы снимаются после изменения Debug Info c "Program

S>> Database for Edit & Continue" на "Program Database". Сама проблема
S>> заключается в неподобающем обращении со строковыми литералами -
S>> константные они, нефиг их менять. Если я не угадал — ищи другого
S>> телепата

S> В том то и дело что они НЕ константы.



Смотрим стандарт С++, пункт 2.13.4.2: "Whether all strings literals are distincs (that is, are stored in nonoverlapping objects) is implementation-defined. The effect of attemting to modify a string literal is undefined." Ну а в VC++ есть опции компилятора (/Gf и /GF), которые этим управляют. Причем опция /ZI (Edit and Continue) automatically sets the /GF option. В пятой версии VC++ никаких Edit and Continue не было, в шестой она выставляется по умолчанию. Выводы очевидны...

Best regards,
Sergey.
Posted via RSDN NNTP Server 1.7 "Bedlam"
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.