22.06.2019, 23:19
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.02.2013
Сообщений: 1,038
Сказал спасибо: 43
Сказали Спасибо 273 раз(а) в 214 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от ProtAS-13
|
как записать (Например) в поле t5 значение... 98.
|
const char* temp = "98";
NexTextSetText(5, temp);
|
|
|
|
22.06.2019, 23:45
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
|
|
|
|
23.06.2019, 14:03
|
|
Прописка
Регистрация: 12.02.2016
Сообщений: 107
Сказал спасибо: 22
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от NewWriter
|
![Улыбка](images/smilies/icon_smile.gif)
....
const char *buffer - это указатель на константный буфер, который неизменно находится во флеше (ну раз он константа).
....
|
Вы не много заблуждаетесь. const в данном контексте никакого отношения к месту расположению не имеет. Просто это подсказка оптимизатору что данную переменую можно не сохранять при входе и не восстанавливать при выходе.
|
|
|
|
23.06.2019, 15:04
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Да вы что, правда? Наверно в новом чтении приняли поправки в законы Си...
Вот если бы вы это самое написали про static, тогда я бы с вами согласился. А const завсегда означал неизменяемую константу
|
|
|
|
23.06.2019, 17:35
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,038
Сказал спасибо: 2,559
Сказали Спасибо 11,882 раз(а) в 5,959 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от OldDriver
|
Вы не_много заблуждаетесь. const ... данную переменую...
|
Вы много заблуждаетесь.
Нормальный компилятор выдаст ошибку, если Вы попытаетесь изменить константу, а посему - ни о каких переменных константах речи быть не может. Даже если вся программа находится и исполняется в ОЗУ.
Ну и как Вы считаете, где будет находиться неизменяемое значение?
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
23.06.2019, 18:17
|
|
Прописка
Регистрация: 10.03.2016
Сообщений: 114
Сказал спасибо: 14
Сказали Спасибо 46 раз(а) в 41 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от akegor
|
Вы много заблуждаетесь.
|
Тогда вам за парту и учиться.
|
|
|
|
23.06.2019, 18:28
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,038
Сказал спасибо: 2,559
Сказали Спасибо 11,882 раз(а) в 5,959 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от scorpi_0n
|
Тогда вам...
|
Если всем - то учиться никогда не лишне.
Если это конкретно мне, то за парту надо Вам.
Ну и вспомнилось:
Сообщение от AlexanderZh
|
Если вас поливают говном - значит, вы заставили кого-то обосраться!
|
Почему? А памушта! Объяснили бы позицию, а там бы прояснилось - кому и почему.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
23.06.2019, 18:54
|
|
Прописка
Регистрация: 12.02.2016
Сообщений: 107
Сказал спасибо: 22
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от akegor
|
Вы много заблуждаетесь.
Нормальный компилятор выдаст ошибку, если Вы попытаетесь изменить константу, а посему - ни о каких переменных константах речи быть не может. Даже если вся программа находится и исполняется в ОЗУ.
Ну и как Вы считаете, где будет находиться неизменяемое значение?
|
Мы сейчас говорим об аргументах функции, а не константах времени исполнения.
Простые аргументы передаются by val и их изменения внутри функции не передаются наружу после завершения. Это обеспечивается сохранением/восстановлением в прологе и эпилоге функции. Указание const перед аргументом функции говорит компилятору что это можно не делать, но естественно он начинает следить что бы вы не меняли это аргумент внутри функции.
Попробуйте сами, объявите функцию с const аргументом и его совершенно спокойно можно вызвать и получить результат и обычной автоматическрй переменной и константой в качестве аргумента.
|
|
|
|
23.06.2019, 19:19
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,038
Сказал спасибо: 2,559
Сказали Спасибо 11,882 раз(а) в 5,959 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от OldDriver
|
Указание const перед аргументом функции говорит компилятору что это можно не делать, но естественно он начинает следить что бы вы не меняли это аргумент внутри функции.
|
Вы считаете, что эта "константа времени исполнения" будет скопирована память данных, а не передана в виде указателя?
Сообщение от OldDriver
|
Попробуйте сами, объявите функцию с const аргументом и его совершенно спокойно можно вызвать и получить результат и обычной автоматическрй переменной и константой в качестве аргумента.
|
И что Вы этим хотите сказать? Извините, нить Вашей мысли ускользнула... Или Вы в роли "капитана Оченьвидность"?
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
23.06.2019, 19:21
|
|
Прописка
Регистрация: 12.02.2016
Сообщений: 107
Сказал спасибо: 22
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Это просто элемент оптимизации генерируемого кода. Позволяет сэкономить немного в куче/стеке и немного кода на сохранение/восстановление переменных.. Для равноправной памяти переменной наиболее дешевой стратегией сохранения/восстановления является просто создание новой копии переменной в стеке/куче и уничтожение этой копии при выходе из функции. Это следует из спецификаций языка.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:17.
|
|