![]() |
|
|
![]()
|
|
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 4 Всего: 56 |
У меня такой вопрос: Если можно объясните разницу в общих чертах, а то у меня через Release все нормально ,а через Debug происходит черти что ,меня выкидывает из программы с какой то ошибкой...Так же при смене адреса иконки приложения, запустил Debug и Release, в рез-те чего Debug заменил иконку ,а Release нет...Помогите пожалуйста разобраться !
|
|||
|
||||
| CobaltD |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 18.4.2006 Репутация: 1 Всего: 1 |
Наверняка срабатывает макрос ASSERT() или подобный, в release они отключаются. Когда тебя выкинет, нажми retry и посмотри callstack CTRL_ALT_C.
Добавлено @ 16:01 http://www.sources.ru/cpp/faqs/89.htm |
|||
|
||||
| 0x07L |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 10.6.2006 Где: Москва Репутация: 1 Всего: 5 |
Третий раз вижу такой вопрос. Смотри здесь: http://www.rsdn.ru/article/vcpp/survrls.xml
Добавлено @ 16:06 Простите, там все ровно наоборот. Обычно проблемы возникают при переходе с дебага на релиз... |
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 4 Всего: 56 |
Так оно и есть..ну да ладно с этой проблемой вроде бы разобрался...Так а в чем же все таки разница???Зачем делать два транслятора\компоновщика если в рез-те получается тот же .ехе????Так же не понятно почему при использовании Release у меня не сменилась иконка приложения(хотя иконки которую мне выдает при Release я уже удалил Кстати всех программистов с проффесиональным праздником!!!! |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Транслятор и компоновщик один. Разные опции. Чтобы узнать, какие, загляни в настройки проекта, посмотри опции командной строки. Обычно в релизе отключаются ASSERT'ы, проверка стека, включаются inline-размещение функций, оптимизация кода и много чего еще. Так что exe'шник вовсе не одинаковый (особенно по размерам). Если в дебаге выскакивают ASSERT'ы, а в релизе - нет - не стоит успокаиваться, надо разобраться с причиной, ASSERT'ы просто так не ставят: рано или поздно аукнется, и вот тогда намаешься.
-------------------- ... |
|||
|
||||
| vvpC |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 20.5.2006 Где: Москва Репутация: нет Всего: нет |
Например, если наследуешься от MFC классов, то таким образом разработчики MFC могут пытаться заставить тебя переопределять некоторые функции-пустышки их классов... вставляют в тело ф-ии ASSERT(FALSE), а ты голову ломай Это сообщение отредактировал(а) vvpC - 20.7.2006, 10:51 |
|||
|
||||
| Rapalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 732 Регистрация: 20.1.2006 Где: Украина -> Ник олаев Репутация: 6 Всего: 8 |
Согласен со всем что в даных ссылках, но так как vinter "новичёк" (покрайней мере на форуме), ответим по простому.
Debug - можно пользоваться дебагером, размеры модулей боьшие, програма медленная - версися для разработчика Release - нельзя пользоваться дебагером, модули маленькие, програма оптимизированая - версия для пользователя Остальные отличия - тонкости!!! -------------------- In vitium ducit culpae fuga. Желание избежать ошибки вовлекает в другую. (Horatius) |
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 4 Всего: 56 |
Всем спасибо за ответы вроде бы разобрался
|
|||
|
||||
| Bunny |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 22.3.2006 Репутация: нет Всего: 1 |
Не хочется создавать новую тему, спрошу здесь:
опции Release хватит для того, чтобы собрать проект так, чтобы он запускался на любой машине, не зависимо от того, установлен там VC++ или нет? Если нет, то скажите как это сделать |
|||
|
||||
| Rapalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 732 Регистрация: 20.1.2006 Где: Украина -> Ник олаев Репутация: 6 Всего: 8 |
НЕТ!
Если у тебя один экэшник то собери проект с параметром "Use MFC in a Static Library". Тогда прокатит, это не зависит от того у тебя релиз или нет. Если несколько файлов придётся повозится, такая темма была на форуме ищи. -------------------- In vitium ducit culpae fuga. Желание избежать ошибки вовлекает в другую. (Horatius) |
|||
|
||||
| Bunny |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 22.3.2006 Репутация: нет Всего: 1 |
Rapalex спасибо за ответ
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |