![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| AlexanderV |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 31.8.2005 Где: Украина, Киев Репутация: нет Всего: нет |
Я сейчас занимаюсь созданием игры на MSDEV6, и хочу поставить оптимизацию по скорости. Когда в Project->Settings делаю Optimisization = "Maximize Speed", то при компиляции выводится следущее сообщение:
Command line error D2016 : '/ZI' and '/O2' command-line options are incompatible В чем дело? |
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 27 Всего: 49 |
Фича "Edit and Continue" (/ZI), которая полезна при отладке, не совместима с оптимизацией (/O2). Поставь оптимизацию в конфигурации Release и отключи Edit and Continue. А в конфигурации Debug наоборот, отключи оптимизацию и включи /ZI
-------------------- Не смей читать мою подпись!!! |
|||
|
||||
| Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 2 Всего: 18 |
В режиме отладки нельзя ставить оптимизацию на скорость.
|
|||
|
||||
| AlexanderV |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 31.8.2005 Где: Украина, Киев Репутация: нет Всего: нет |
Да, теперь работает, спасибо.
Вот еще пара вопросов: А сильно ли отличаются по скорости Debug и Release версии? В режиме, котором я компилировал проги до этого (Debug) иногда вылазили сообщения с заголовком "Microsoft Visual Studio Debug", и каким - то текстом. Будут ли подобные сообщения в Release версии? Release версия имеет намного меньший размер, чем Debug. Чем это обусловлено? |
|||
|
||||
| CaptainFlint |
|
||||||
|
Искатель сокровищ ![]() ![]() Профиль Группа: Участник Сообщений: 393 Регистрация: 26.2.2003 Где: Москва Репутация: нет Всего: 23 |
Зависит от используемых функций. Может быть так, что разницы почти и не заметишь, а может быть и разница в десятки раз.
Это обычно деятельность ASSERT-ов. Это специальные отладочные макросы, которые позволяют проверять, выполняются ли в работе программы разные допущения. Например, ты разрабатываешь функцию, в которую передаётся параметр-указатель, и ты уверен, что он никогда не будет NULL. Но на всякий случай ставишь в начале ASSERT(param!=NULL) - и если в процессе работы программы там вдруг окажется NULL, вывалится именно такое окошко. В Release-версии все ASSERT-ы попросту удаляются препроцессором (заменяются на пустой текст).
В основном - наличием в Debug и отсутствием в Release отладочной информации. Ну и оптимизация, которой обычно нету в Debug, тоже играет роль. -------------------- Почему же, ё-моё, ты нигде не пишешь "ё"? -------------------- Для тех, кто не знает: CaptainFlint - это бывший Константин. ;) |
||||||
|
|||||||
| AlexanderV |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 31.8.2005 Где: Украина, Киев Репутация: нет Всего: нет |
Еще раз спасибо
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |