реклама на сайте
подробности

 
 
> То ли баг, то ли фича, то ли с головой что-то
shreck
сообщение Oct 3 2013, 09:13
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 24-06-06
Из: Томск
Пользователь №: 18 328



Добрый день.

Компилятор IAR ARM 6.50.5 (оптимизация - none)

Столкнулся со следующим поведением компилятора.
Имеем минимальный проект из одного файла:
Код
// main.cpp
const int global_i = 3;
void main()
{
}


Так вот, на глобальную константную переменную компилятор выдает "Warning[Pe177]: variable "global_i" was declared but never referenced"

"Звезда в шоке" sm.gif

Кто что может сказать?

P.S. Такое ощущение, что компилятор воспринимает global_i как локальную в модуле main.
P.P.S А в более поздних версиях компилятора такое поведение наблюдается?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
shmur
сообщение Oct 3 2013, 09:17
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 28-11-11
Пользователь №: 68 553



Ну компилятор просто предупреждает, что переменная объявлена, но нигде не используется. Если оптимизация выключена, то компилер не будет резать такие переменные и они будут кушать память.
Go to the top of the page
 
+Quote Post
megajohn
сообщение Oct 3 2013, 09:22
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



это фича
а чтобы компилятор не резал. в независимости от оптимизации то примените __root const static


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 14:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.01366 секунд с 7
ELECTRONIX ©2004-2016