Цитата
Если вы объявили переменную как const и попытались ее модифицировать, компилятор выругается.
Это и не подвергалось сомнению

У меня нет вопросов по самому языку С и С ++.
Вопросы именно касаемо тонкостей их понимания компилятором Keil для ARM.
Как вы сказали:
Цитата
При этом гарантий того, что const будет размещено именно во flash - нет.
А мне нужна. Наверняка, это можно сделать явным образом так же, как и в Keil51.
Цитата
Нужно смотреть в документацию компилятора для уточнения деталей.
Посмотрел. Немного потормозил. Снова посмотрел. Все еще не нашел

Покомпилировал пример с разными длинами массивов - 5, 50, и 5000.
Параметр Code при комментировании/раскоментировании модификатора const меняется не всегда.
Зато меняются параметры RO-data, RW-data и ZI-data.
Где можно прочитать, что каждый из параметров означает?
Цитата(aaarrr @ Jul 23 2009, 13:03)

Нет, просто ваша константа была выброшена за ненадобностью. Задействуйте ее где-нибудь и сравните результаты.
Делаем.
Вариант 1:
Код
#define AR_SIZE 500
const char ar[AR_SIZE];
void main()
{
if(ar[AR_SIZE-1]);
}
Цитата
Program Size: Code=1108 RO-data=16 RW-data=0 ZI-data=1256
Вариант2:
Код
#define AR_SIZE 500
/*const*/ char ar[AR_SIZE];
void main()
{
if(ar[AR_SIZE-1]);
}
Цитата
Program Size: Code=1108 RO-data=16 RW-data=0 ZI-data=1256