Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 24.06.2019, 12:10  
dgrishin
Почётный гражданин KAZUS.RU
 
Регистрация: 12.02.2013
Сообщений: 1,016
Сказал спасибо: 43
Сказали Спасибо 273 раз(а) в 214 сообщении(ях)
dgrishin на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Мне кажется что настало время отделить котлеты (объявление с инициализацией переменной с const - такая переменная действительно окажется во флеше) от мух (декларация переменных вызова функции со словом const - это вообще ни разу не обязывает чтобы переменная была во флеше).
Реклама:
dgrishin вне форума  
Непрочитано 24.06.2019, 12:14  
NewWriter
Почётный гражданин KAZUS.RU
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,509
Сказал спасибо: 401
Сказали Спасибо 2,218 раз(а) в 1,316 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

А это уже практика так скажем, применение теории на практике.
Сопссна, проведите натурные эксперименты, и милейшим образом убедитесь сами Бестолку впустую чето спорить. Если кому-то кажется, что const как-то изменяет передачу параметра, то просто сравните тексты после компиляции - вы увидите полное совпадение до буквы, что с const, что без него.
Вообще, стандартом Си не оговорено поведение компилятора в этом случае. Быть может, есть компиляторы, которые изменяют поведение с const. Не знаю, всего знать не возможно. Но это будет уже чисто фишка компилятора, а не общепринятый закон.

Ну а спорщик собрал в одну кучу ваще всё сразу - и передачу параметров в ф-цию, свойства указателей, квалификаторы const, static, volatile, перепутав их назначения и наделив одни квалификаторы свойствами других. "Всё смешалось, люди, кони, мухи".
Спорит про const, а в качестве примера приводит передачу параметра в ф-цию. Да, конечно указатели многим подпортили нервы
Так что прекратите эти бессмысленные споры до момента проведения собственных тщательных натурных испытаний. И если есть чего по делу - просто выкладывайте скрины с ваших экспериментов. А то вы эдак на словах начнете щас утверждать, что массив в ф-цию передается методом полного поэлементного копирования ))

Последний раз редактировалось NewWriter; 24.06.2019 в 12:40.
NewWriter вне форума  
Непрочитано 24.06.2019, 13:10  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,581
Сказал спасибо: 115
Сказали Спасибо 806 раз(а) в 583 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от NewWriter Посмотреть сообщение
А то вы эдак на словах начнете щас утверждать, что массив в ф-цию передается методом полного поэлементного копирования
Если массив завернуть в структуру и передавать не указатель на нее, а ее саму, то так и будет…
__________________
Смерть бандеровской мразоте!
eddy вне форума  
Непрочитано 24.06.2019, 14:29  
ProtAS-13
Прописка
 
Регистрация: 17.03.2015
Сообщений: 287
Сказал спасибо: 0
Сказали Спасибо 209 раз(а) в 121 сообщении(ях)
ProtAS-13 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от NewWriter Посмотреть сообщение
const char *buffer - это указатель на константный буфер, который неизменно находится во флеше (ну раз он константа)
Сообщение от NewWriter Посмотреть сообщение
Да вы что, правда? Наверно в новом чтении приняли поправки в законы Си...
... А const завсегда означал неизменяемую константу
А вот Ben Klemens,с Вами немного не согласен (см. рис1).
О чем, Вам и было указано:
Сообщение от OldDriver Посмотреть сообщение
const, в данном контексте, никакого отношения к месту расположения не имеет.
Миниатюры:
Нажмите на изображение для увеличения
Название: Pic1.jpg
Просмотров: 0
Размер:	223.1 Кб
ID:	142871   Нажмите на изображение для увеличения
Название: Pic2.jpg
Просмотров: 0
Размер:	27.2 Кб
ID:	142872  

Последний раз редактировалось ProtAS-13; 24.06.2019 в 14:37. Причина: Добавлена вторая картинка
ProtAS-13 вне форума  
Непрочитано 24.06.2019, 14:42  
scorpi_0n
Прописка
 
Регистрация: 10.03.2016
Сообщений: 114
Сказал спасибо: 14
Сказали Спасибо 46 раз(а) в 41 сообщении(ях)
scorpi_0n на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от ProtAS-13 Посмотреть сообщение
О чем, Вам и было указано
Расслабьтесь. Эти два упыря и Кернигану не помолятся, и об Ричи разобьются, и халом изойдутся, но собственной неграмотности так и не признают. Но со стороны это выглядит очень даже весело.
scorpi_0n вне форума  
Непрочитано 24.06.2019, 15:02  
sat_art
Вид на жительство
 
Регистрация: 27.11.2007
Сообщений: 428
Сказал спасибо: 19
Сказали Спасибо 39 раз(а) в 30 сообщении(ях)
sat_art на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от ProtAS-13 Посмотреть сообщение
А вот Ben Klemens,с Вами немного не согласен (см. рис1).
Пример не очень корректно относится к теме - изначально "а" не константа.

А вот если
PHP код:
const int a[10]={0,0,0,0,0,0,0,0,0,0};
int *b=a;
set_elmt(a,b); 
Цитата:
initialization discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
Т.е. компилятор предупреждает, что данные могут измениться и убирает определение константы.
А в приведенном выше примере, запрещается изменение "b" - мало ли для чего такое может понадобиться.

О чем вообще спор? Если константа, то хоть ее передавай, хоть указатель на нее - она неизменна. И кроме свойства ее неизменности, она еще несет свойство экономии памяти. Для нее не выделяется место в памяти данных. Она остается в теле программы, в нашем случае во флеше. Хоть это микроконтроллеры, хоть где. Поправьте меня если это не так.
sat_art вне форума  
Непрочитано 24.06.2019, 15:11  
scorpi_0n
Прописка
 
Регистрация: 10.03.2016
Сообщений: 114
Сказал спасибо: 14
Сказали Спасибо 46 раз(а) в 41 сообщении(ях)
scorpi_0n на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от sat_art Посмотреть сообщение
И кроме свойства ее неизменности, она еще несет свойство экономии памяти. Для нее не выделяется место в памяти данных. Она остается в теле программы, в нашем случае во флеше. Хоть это микроконтроллеры, хоть где. Поправьте меня если это не так.
Ну и сколько можно вас ещё поправлять?
scorpi_0n вне форума  
Непрочитано 24.06.2019, 15:14  
NewWriter
Почётный гражданин KAZUS.RU
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,509
Сказал спасибо: 401
Сказали Спасибо 2,218 раз(а) в 1,316 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Слуште, заманали писать много букв. Я же сказал - скрины с натурными экспериментами - фстудию. А я уж любому наглядно объясню, кто тут упырь. Особенно всяким болтливым старпёрам - эту уж ваще не проблема
NewWriter вне форума  
Непрочитано 24.06.2019, 15:15  
sat_art
Вид на жительство
 
Регистрация: 27.11.2007
Сообщений: 428
Сказал спасибо: 19
Сказали Спасибо 39 раз(а) в 30 сообщении(ях)
sat_art на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от scorpi_0n Посмотреть сообщение
Ну и сколько можно вас ещё поправлять?
Меня Вы еще не поправляли.
sat_art вне форума  
Непрочитано 24.06.2019, 15:26  
NewWriter
Почётный гражданин KAZUS.RU
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,509
Сказал спасибо: 401
Сказали Спасибо 2,218 раз(а) в 1,316 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Между прочим, никто и не утверждал, что const защищает стопроцентно данные. Защищать данные может только аппаратный MPU. Про const вы развели какую-то хню, потеряв первоначальный смысл вообще.
Поэтому, прекратите бессмысленный спор. Хотите что-то сказать? Выкладывайте скрины с натурных экспериментов. Всё остальные слова - не больше чем ветер в поле.
NewWriter вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Школа АRMрестлинга Uragan90 Микроконтроллеры, АЦП, память и т.д 54 22.08.2011 16:13
ARM Cortex M3 + Linux SiMiLya Микроконтроллеры, АЦП, память и т.д 10 17.06.2011 17:20
Помогите с STM32 - очень нужно... yakuzaa Микроконтроллеры, АЦП, память и т.д 60 04.08.2010 11:04
Как добавить поддержку для STM32 SFHK Микроконтроллеры, АЦП, память и т.д 11 18.12.2009 18:09


Часовой пояс GMT +4, время: 09:46.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot