23.06.2019, 19:33
|
|
Прописка
Регистрация: 12.02.2016
Сообщений: 107
Сказал спасибо: 22
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от akegor
|
Вы считаете, что эта "константа времени исполнения" будет скопирована память данных, а не передана в виде указателя?
И что Вы этим хотите сказать? Извините, нить Вашей мысли ускользнула... Или Вы в роли "капитана Оченьвидность"?
|
Мысль проста. const в описании аргумента функции сообщает компилятору и оптимизатору что ВНУТРИ описанной функции они могут считать этот аргумент не изменяемой переменной. Все точка. И они за этим следят при компиляции. Что бы это оставалось правдой. И не дадут его прямо изменить. А вот косвенно это вполне можно сделать.
А пример я просил сделать простой.
В main обявляем int i
В pow2 пишем pow2(const int n) { return n*n;}
Можем спокойно вызывать и в виде pow2(i) и ввиде pow2(5)
|
|
|
|
23.06.2019, 20:00
|
|
Прописка
Регистрация: 12.02.2016
Сообщений: 107
Сказал спасибо: 22
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от akegor
|
Вы считаете, что эта "константа времени исполнения" будет скопирована память данных, а не передана в виде указателя?
|
Запросто. Если память переменных и память кода неравноправны по адресации и доступу то такая стратегия вполне реальна и вполне может использоваться. В частности gcc это любит делать для упрощения своей работы и перед началом работы main работает блок копирования констант из флеша в озу. Если это не указано иначе.
Иначе пришлось работать с переменными и константами разными методами. Доступ то различается,
Последний раз редактировалось OldDriver; 23.06.2019 в 20:09.
|
|
|
|
23.06.2019, 21:17
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,038
Сказал спасибо: 2,559
Сказали Спасибо 11,882 раз(а) в 5,959 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от OldDriver
|
Мысль проста. const в описании аргумента функции сообщает компилятору и оптимизатору что ВНУТРИ описанной функции они могут считать этот аргумент не изменяемой переменной.
|
Не "могут", а ОБЯЗАНЫ. И к этому обязывает "const".
И еще интересно - а нахрена в функции объявлять константы? Защита от своих шаловливых ручонок?
Сообщение от OldDriver
|
А пример я просил сделать простой.
|
А нахрена? Мне - ничего нового и неожиданного. Вам? По тексту - тоже непохоже, что есть заинтересованность в результате. И вода в ступе структуру не поменяла...
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
23.06.2019, 22:57
|
|
Прописка
Регистрация: 10.03.2016
Сообщений: 114
Сказал спасибо: 14
Сказали Спасибо 46 раз(а) в 41 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от akegor
|
ОБЯЗАНЫ
|
Никто вам ничего не обязан. И не надейтесь.
Сообщение от akegor
|
а нахрена
|
Сообщение от akegor
|
А нахрена?
|
За вас учиться тоже все должны?
|
|
|
|
23.06.2019, 23:24
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,038
Сказал спасибо: 2,559
Сказали Спасибо 11,882 раз(а) в 5,959 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от scorpi_0n
|
И не надейтесь.
|
Нахрена надежды, если есть более серьезные аргументы?
Сообщение от scorpi_0n
|
Никто вам ничего не обязан.
|
Вот, к примеру, Вам - нормы и правила языка не писаны. Или не читаны. Или не поняты. Или, если и поняты, то не так. Зато кич - на троих хватит.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
24.06.2019, 01:37
|
|
Прописка
Регистрация: 17.03.2015
Сообщений: 294
Сказал спасибо: 0
Сказали Спасибо 220 раз(а) в 126 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
|
|
|
|
24.06.2019, 07:16
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
OldDriver, хватит уже пороть херню!! Задолбали эти столь длинные "объяснения" того, чего не может быть. Вы бы хоть раз попробовали провести натурный эксперимент. А то еще и насочиняли фигни про передачу массива в функцию. Немедленно читать Кернигана! Вы вообще всё поперепутали с ног на голову.
|
|
|
|
24.06.2019, 08:33
|
|
Прописка
Регистрация: 12.02.2016
Сообщений: 107
Сказал спасибо: 22
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от NewWriter
|
OldDriver, хватит уже пороть херню!! Задолбали эти столь длинные "объяснения" того, чего не может быть. Вы бы хоть раз попробовали провести натурный эксперимент. А то еще и насочиняли фигни про передачу массива в функцию. Немедленно читать Кернигана! Вы вообще всё поперепутали с ног на голову.
|
Читаем там же где вы рекомендовали чем отличается передача параметров.
Что такое by val и by ref.
|
|
|
|
24.06.2019, 09:54
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Так вот и прочитайте, что такое указатель. Ибо угазатель - это 4-байтная (для 32-битной системы) переменная, содержащая адрес указываемой переменной
|
|
|
|
24.06.2019, 11:14
|
|
Прописка
Регистрация: 10.03.2016
Сообщений: 114
Сказал спасибо: 14
Сказали Спасибо 46 раз(а) в 41 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от NewWriter
|
Ибо угазатель - это 4-байтная (для 32-битной системы) переменная, содержащая адрес указываемой переменной
|
Ну вот ты и нарвался на свои же изречения. А флэш с const тут собственно где?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:16.
|
|