Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Не работает релиз со включеной оптимизацией  (Прочитано 11816 раз)
0 Пользователей и 1 Гость смотрят эту тему.
USBLexus
Опытный

ru
Offline Offline
Пол: Мужской
Кот рыжий


« : 29-05-2006 08:52 » 

Без оптимизации все нормально, стоит включить оптимизацию по скорости или размеру работать программа перестает, выдает ошибки с памятью - как устранить такой дефект?
Записан

#define QUESTION(b) (2*b)||(!(2*b)) (c) William Shakespeare
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 29-05-2006 15:19 » 

а зачем нафик такая оптимизация? Улыбаюсь
Записан

USBLexus
Опытный

ru
Offline Offline
Пол: Мужской
Кот рыжий


« Ответ #2 : 30-05-2006 01:59 » 

а зачем нафик такая оптимизация? Улыбаюсь
Не знаю, она по умолчанию была включена ... Откомпилировал релиз - ничего не работает стал разбираться отключил оптимизацию все заработало...
Записан

#define QUESTION(b) (2*b)||(!(2*b)) (c) William Shakespeare
acc15
Гость
« Ответ #3 : 30-05-2006 22:38 » 

либо ты не только оптимизацию отключил, либо переустанови MS VC.
Либо компутер у тебя больно "новый", кот. не поддерживает инструкции которые выплыли в результате оптимизации... в настройках проекта посмотри тип процессора...
« Последнее редактирование: 30-05-2006 22:40 от acc15 » Записан
USBLexus
Опытный

ru
Offline Offline
Пол: Мужской
Кот рыжий


« Ответ #4 : 31-05-2006 02:19 » 

либо ты не только оптимизацию отключил, либо переустанови MS VC.
Либо компутер у тебя больно "новый", кот. не поддерживает инструкции которые выплыли в результате оптимизации... в настройках проекта посмотри тип процессора...
Нет, только оптимизацию и все
Самое интересное что кроме этого проекта все остальные работают нормально :\
Записан

#define QUESTION(b) (2*b)||(!(2*b)) (c) William Shakespeare
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #5 : 31-05-2006 07:37 » 

USBLexus, так бывает - какая-то переменная , например, в результате оптимизации размещается в регистре, или ещё что

а характер "неработает" ты выяснил?
Попробуй переменные определять с
  volatile
 - означает, что переменная обязательно разместится в памяти
Записан

USBLexus
Опытный

ru
Offline Offline
Пол: Мужской
Кот рыжий


« Ответ #6 : 31-05-2006 07:47 » 

Попробуй переменные определять с volatile

А это как?
Записан

#define QUESTION(b) (2*b)||(!(2*b)) (c) William Shakespeare
acc15
Гость
« Ответ #7 : 31-05-2006 09:14 » 

Алексей1153: volatile - это означает что переменная будет иметь одно и то же имя, но различную область памяти для каждого потока в программе... т.е. каждый поток будет иметь свою переменную...

USBLexus: Для того чтобы переменная просто была размещена в памяти следует использовать static. (Пример: static int x = 0;) А вообще без этого должно всё работать... скинь-ка мне этот чудо-проект если там нет ничего секретного (acc15@comtv.ru)
Записан
USBLexus
Опытный

ru
Offline Offline
Пол: Мужской
Кот рыжий


« Ответ #8 : 31-05-2006 09:32 » 

Не могу, уволят нахрен сегодня же)
Записан

#define QUESTION(b) (2*b)||(!(2*b)) (c) William Shakespeare
acc15
Гость
« Ответ #9 : 31-05-2006 10:50 » 

убери исходный код и скинь... только настройки проекта всмысле сам dsp файл
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #10 : 31-05-2006 16:45 » 

acc15, спасибо, что просветил , не знал я Улыбаюсь
я всегда думал, что

Цитата: MSDN
The volatile keyword is a type qualifier used to declare that an object can be modified in the program by something such as the operating system, the hardware, or a concurrently executing thread.

volatile declarator ;
The following example declares a volatile integer nVint whose value can be modified by external processes:

int volatile nVint;
Objects declared as volatile are not used in optimizations because their value can change at any time. The system always reads the current value of a volatile object at the point it is requested, even if the previous instruction asked for a value from the same object. Also, the value of the object is written immediately on assignment.

One use of the volatile qualifier is to provide access to memory locations used by asynchronous processes such as interrupt handlers.
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines