|
модификатор const. Как правильно использовать в Си |
|
|
|
Dec 22 2017, 15:39
|
Знающий
   
Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748

|
где компилятор должен расположить "переменные" такого вида: CODE // Описано глобально const u8 x_pos[][8] = { {50, 60}, {55, 62, 69, 76, 83, 90, 97, 104}, {76}, {76}, }; то же самое, описано внутри функции и то же самое внутри функции CODE static const u8 x_pos[][8] = { {50, 60}, {55, 62, 69, 76, 83, 90, 97, 104}, {76}, {76}, };
у меня есть неизменяемый массив большого размера и при входе в функцию этот констатный масив создается в стеке. если его не определить как static правильно ли это поведение или нет? в первом варианте в глобальной константе этот массив помещен в память Flash. Правильное поведение. Во втором варианте в стек - неправильное в третьем варианте во Flash память.
|
|
|
|
Сообщений в этой теме
inventor модификатор const. Как правильно использовать в Си Dec 22 2017, 15:39 Kabdim rtfm, очень нужно почитать умную книжку по языку н... Dec 22 2017, 16:01 inventor Цитата(Kabdim @ Dec 22 2017, 19:01) Вмест... Dec 22 2017, 16:21  demiurg_spb Цитата(inventor @ Dec 22 2017, 19:21) мож... Dec 22 2017, 16:29  Kabdim Цитата(inventor @ Dec 22 2017, 19:21) мож... Dec 22 2017, 17:00   demiurg_spb Цитата(Kabdim @ Dec 22 2017, 20:00)
Согл... Dec 22 2017, 17:07    Kabdim Цитата(demiurg_spb @ Dec 22 2017, 20:07) ... Dec 23 2017, 19:41     DASM Цитата(Kabdim @ Dec 23 2017, 22:41) Верно... Dec 23 2017, 20:24    juvf Цитата(demiurg_spb @ Dec 22 2017, 22:07) ... Dec 24 2017, 17:36     DASM Цитата(juvf @ Dec 24 2017, 20:36) Что так... Dec 24 2017, 19:04      razrab83 Цитата(DASM @ Dec 24 2017, 20:04) const н... Dec 25 2017, 03:10       Quasar Цитата(razrab83 @ Dec 25 2017, 06:10) А п... Dec 30 2017, 09:04        razrab83 Цитата(Quasar @ Dec 30 2017, 09:04) Локал... Jan 3 2018, 10:26         Quasar Цитата(razrab83 @ Jan 3 2018, 13:26) Лока... Jan 3 2018, 22:06      juvf Цитата(DASM @ Dec 25 2017, 00:04) const н... Dec 25 2017, 03:34     demiurg_spb Цитата(juvf @ Dec 24 2017, 20:36) Что так... Dec 25 2017, 14:08      juvf ЦитатаСогласно стандарту языка Си константные данн... Dec 25 2017, 16:28       demiurg_spb С вами бесполезно разговаривать - это Вы к AVR и f... Dec 26 2017, 12:03        juvf Цитата(demiurg_spb @ Dec 26 2017, 17:03) ... Dec 27 2017, 02:57         demiurg_spb Цитата(juvf @ Dec 27 2017, 05:57) Пусть g... Dec 27 2017, 10:12          juvf Цитата(demiurg_spb @ Dec 27 2017, 15:12) ... Dec 27 2017, 10:49           demiurg_spb Цитата(juvf @ Dec 27 2017, 13:49) Изменил... Dec 27 2017, 10:53 Raven А разве не должен компилятор помещать глобальные и... Dec 22 2017, 16:53 demiurg_spb Цитата(Raven @ Dec 22 2017, 19:53) Нет не... Dec 22 2017, 16:56 k155la3 Цитата(Raven @ Dec 22 2017, 19:53) А разв... Dec 23 2017, 12:07 inventor то есть для того что бы константные данные
легли в... Dec 23 2017, 18:03 DASM еще как указание. статик в теле фции размещается н... Dec 25 2017, 07:31 juvf Цитата(DASM @ Dec 25 2017, 12:28) еще как... Dec 25 2017, 07:57  Kabdim Цитата(juvf @ Dec 25 2017, 10:57) его раз... Dec 25 2017, 08:02  DASM Цитата(juvf @ Dec 25 2017, 10:57) пф.... ... Dec 25 2017, 08:15   juvf Цитата(DASM @ Dec 25 2017, 13:15) вытекае... Dec 25 2017, 08:17 inventor наверное в следующих стандартах Си это
можно было... Dec 25 2017, 08:36 ViKo Все, что описал топикстартер в начале темы, верно.... Dec 25 2017, 09:46 Сергей Борщ Вообще-то в GCC в режиме С (без плюсов) уже года д... Dec 25 2017, 14:48 demiurg_spb Цитата(Сергей Борщ @ Dec 25 2017, 17:48) ... Dec 25 2017, 14:53 inventor Цитата(Сергей Борщ @ Dec 25 2017, 17:48) ... Dec 25 2017, 16:12 Kabdim Демиург, вы переоцниваете значимость техникал репо... Dec 27 2017, 13:23 demiurg_spb Время покажет. Факт есть факт - в gcc уже реализов... Dec 27 2017, 13:24 inventor мдя
задал простой вопрос
и как всегда разгорелся с... Dec 27 2017, 14:34 pnp_mechanic Вставлю и я свои 5 коп.
Inventor, всегда можно пос... Dec 27 2017, 15:14 aiwa Цитата(inventor @ Dec 25 2017, 10:36) ...... Dec 27 2017, 16:08 sigmaN Про применение volatile const для read only регист... Jan 1 2018, 18:44 Quasar Цитата(sigmaN @ Jan 1 2018, 21:44) Про пр... Jan 2 2018, 08:55  DASM Цитата(Quasar @ Jan 2 2018, 11:55) Я в св... Jan 25 2018, 17:09   esaulenka Цитата(DASM @ Jan 25 2018, 20:09) Еще бы... Jan 27 2018, 09:35    DASM Цитата(esaulenka @ Jan 27 2018, 12:35) Пр... Jan 27 2018, 11:25   Quasar ЦитатаПривидите плиз пример когда volatile const н... Jan 28 2018, 09:14    sidy Цитата(Quasar @ Jan 28 2018, 12:14) В C++... Jan 29 2018, 06:52 sigmaN Кодint f(int a )
{
const int c = 5;
return... Jan 3 2018, 10:53 razrab83 ЦитатаПеременная c вообще не займет никакой памяти... Jan 3 2018, 13:47 sigmaN Ну так мы же про размещение данных говорим вроде к... Jan 3 2018, 18:26 razrab83 Цитата(sigmaN @ Jan 3 2018, 18:26) Тоже с... Jan 4 2018, 08:50  Quasar Цитата(razrab83 @ Jan 4 2018, 11:50) 2Qua... Jan 4 2018, 21:57 inventor читаю pdf на IAR
такой забавный пример с константа... Jan 25 2018, 11:54 sigmaN Правильно, потому что это __ramfunc и никто не хоч... Jan 25 2018, 14:36 demiurg_spb Цитата(sigmaN @ Jan 25 2018, 17:36) Если ... Jan 25 2018, 15:26 krux IAR сделан не только под миниатюрные микроконтролл... Jan 25 2018, 16:40 demiurg_spb Цитата(krux @ Jan 25 2018, 19:40) приведе... Jan 26 2018, 11:12 sigmaN ЦитатаПравильно, потому что это __ramfunc и никто ... Jan 25 2018, 20:20 Сергей Борщ Не знаю, что он нынче делает в C, а в плюсах новый... Jan 27 2018, 20:24 DASM Цитата(Сергей Борщ @ Jan 27 2018, 23:24) ... Jan 27 2018, 20:38 Arlleex Ну, чтобы совсем подлить масла в огонь, можно вбро... Jan 28 2018, 17:09 DASM Цитата(Arlleex @ Jan 28 2018, 20:09) Ну, ... Jan 28 2018, 17:44 sigmaN Кодint arr[2] = {0, 1};
int i;
int pi;
in... Jan 28 2018, 19:50 gerber Цитата(sigmaN @ Jan 28 2018, 22:50) Брэйк... Jan 28 2018, 20:03  DASM Цитата(gerber @ Jan 28 2018, 23:03) Не ср... Jan 28 2018, 20:40 alx.bilous Цитата(sigmaN @ Jan 28 2018, 22:50) На мн... Jan 28 2018, 21:31 Kabdim Цитата(sigmaN @ Jan 28 2018, 22:50) Кто о... Jan 29 2018, 08:19  DASM Цитата(Kabdim @ Jan 29 2018, 11:19) Даже ... Jan 29 2018, 15:04   Quasar Цитата(DASM @ Jan 29 2018, 18:04) +++... Jan 30 2018, 05:16 sigmaN Я думаю стоит сконцентрироваться на работе с масси... Jan 28 2018, 20:51 Quasar Цитата(sigmaN @ Jan 28 2018, 23:51) Ответ... Jan 28 2018, 21:15 DASM Ну имя массива это не lvalue , нельзя записать ... Jan 28 2018, 21:34 alx.bilous Мне и правда нужно было упоминать что строка девят... Jan 28 2018, 21:38 Arlleex ЦитатаНа много интереснее попросить привести приме... Jan 29 2018, 05:42 _Sam_ Цитатав первом варианте в глобальной константе
это... Jan 29 2018, 07:45 juvf Цитата(_Sam_ @ Jan 29 2018, 12:45) Второй... Jan 29 2018, 09:14  ViKo Цитата(juvf @ Jan 29 2018, 12:14) Он в лю... Jan 29 2018, 12:21   juvf Цитата(ViKo @ Jan 29 2018, 17:21) Во флэш... Jan 29 2018, 16:01 sigmaN Кодint (*ptr)[2];
Скомпилится?
ptr... Jan 29 2018, 15:46 DASM Цитата(sigmaN @ Jan 29 2018, 18:46) Кодin... Jan 29 2018, 15:55 Arlleex Цитата(sigmaN @ Jan 29 2018, 18:46) Кодin... Jan 29 2018, 19:35 DASM delete Jan 29 2018, 16:37 sigmaN А вот это я расшифровать пока не могу
Озвучу мыс... Jan 29 2018, 21:07 Arlleex Цитата(sigmaN @ Jan 30 2018, 00:07) А вот... Jan 29 2018, 21:14  DASM Цитата(Arlleex @ Jan 30 2018, 00:14) Ну, ... Jan 29 2018, 21:20   Arlleex Цитата(DASM @ Jan 30 2018, 00:20) Ну блин... Jan 29 2018, 21:27    DASM Цитата(Arlleex @ Jan 30 2018, 00:27) Вам ... Jan 29 2018, 21:34     Arlleex Цитата(DASM @ Jan 30 2018, 00:34) Вот пос... Jan 29 2018, 21:57  dxp Цитата(Arlleex @ Jan 30 2018, 04:14) P.S.... Jan 30 2018, 05:14   Arlleex Цитата(dxp @ Jan 30 2018, 08:14) func - н... Jan 30 2018, 06:37    DASM Цитата(Arlleex @ Jan 30 2018, 09:37) логи... Jan 30 2018, 08:00    dxp Цитата(Arlleex @ Jan 30 2018, 13:37) Вы н... Jan 30 2018, 09:08     Arlleex Цитата(dxp @ Jan 30 2018, 12:08) char (*(... Jan 30 2018, 10:38  Quasar Цитата(Arlleex @ Jan 30 2018, 00:14) P.S.... Jan 30 2018, 09:11 sigmaN Цитатаfunc - это функция, не принимающая аргументо... Jan 29 2018, 21:31 DASM "кому-то еще и поддерживать." и 99 % это... Jan 29 2018, 22:09 ViKo Мудреные конструкции наподобие вышеприведенных раз... Jan 30 2018, 05:07 DASM "поплачИтесь" ,- непременно
Цитата(dxp ... Jan 30 2018, 06:04 Quasar Цитата(DASM @ Jan 30 2018, 09:04) "п... Jan 30 2018, 07:49
2 страниц
1 2 >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|