bgc 0 29 октября, 2020 Опубликовано 29 октября, 2020 · Жалоба 6 minutes ago, haker_fox said: Ну и?) Вы знаете, я знаю, нужно чтобы автор сам разобрался с этим вопросом. Может это ускорит процесс изучения. В толстых книгах бывает сложно людям найти нужный ответ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 34 29 октября, 2020 Опубликовано 29 октября, 2020 · Жалоба 48 minutes ago, bgc said: Может это ускорит процесс изучения. В толстых книгах бывает сложно людям найти нужный ответ. Если за любым чихом создавать топик и ждать разжевынный ответ, то до старости так и будешь топики создавать. Надо учиться самому ответы находить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 29 октября, 2020 Опубликовано 29 октября, 2020 · Жалоба 1 hour ago, bgc said: В толстых книгах бывает сложно людям найти нужный ответ. Керниган и Ричи "Язык Си" - толстая книга? Смешно. А если открыть её как электронную, то искать совсем просто. 1 hour ago, bgc said: Может это ускорит процесс изучения. Может. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vlad_G 6 30 октября, 2020 Опубликовано 30 октября, 2020 · Жалоба 15 hours ago, haker_fox said: нужно чтобы автор сам разобрался с этим вопросом. По волатиле у меня вопросов как раз и не было. Не вооруженным глазом видно в билданализире волатиле-переменным присваиваются конкретные и не изменяемые адреса и компилятор их не трогает (возможно, что это особенность atollic-a, а в других системах будет по другому). Хорошо это или плохо - хз, зависит от конкретики. В универе нам говорили, что goto прям ужосужосужос и не принимали программы с их участием. Потом оказалось, что команда безусловного перехода ничем не хуже других команд и вполне себе годнота. Так и тут, каждый автор рассматривает по ощущениям своим. Ну, не работал я с С, сейчас пытаюсь разобраться. Иногда спрашиваю. Мои извинения, если задел чьи-то чувства. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 30 октября, 2020 Опубликовано 30 октября, 2020 · Жалоба 8 minutes ago, Vlad_G said: волатиле-переменным присваиваются конкретные и не изменяемые адреса Назовите мне переменные, которым присваиваеются неконкретные и изменяемые адреса? Вы вообще о чём? Глобальным и статическим переменным тоже назначаются постоянные и неизменяемые адреса. Стэковые переменны могут получить любой адрес, но этих переменных и не существует на момент компиляции. То же самое и с динамическими объектами, создаваемыми в куче. Другое дело, что оптимизатор вправе выкинуть ваши переменные, если он в состоянии просчиттаь результат без их участия. Например, это int foo() { int a = 5; int b = 7; int c = a + b; return c; } превратится в int foo() { return 12; } Ибо зачем занимать память под переменные a, b и с? А то и вообще вместо вызова функции будет подставлена сразу константа. Но иногда нужно, как бы это не выглядело со стороны оптимизатора, такие "глупые" действия с переменными сохранить. Например, если за переменной кроется регистр, значение которого может изменяться асинхронно по отношению к коду. Вот для этого и используется ключевое слово volatile. В этом случае, комплятор сгенерирует код, который всегда обращается к адресу, в котором находится переменная, и не оптимизирует действия с ней, записав её, например, в регистр АЛУ. 8 minutes ago, Vlad_G said: По волатиле у меня вопросов как раз и не было. Потому что вы не понимаете о чём говорите, сорри за прямоту. Ну это чтобы у нас недомолвок не возникало) Откройте же уже книжку или статью в инете. 8 minutes ago, Vlad_G said: В универе нам говорили, что goto прям ужосужосужос Речь не о стилях программирования. Речь о стандарте. 8 minutes ago, Vlad_G said: Так и тут, каждый автор рассматривает по ощущениям своим. Если вы так будете делать, ваши программы будут сборищем глюков. Читайте стандарт на язык или хотя бы книгу. Всё. Других вариантов быть не может. Ну кроме что каких-то дополнений от профессионала, который встречал неадекватное поведение компилятора X в ситуации Y. Да, компиляторы иногда содержат ошибки. Очень редко. Но содержат. 8 minutes ago, Vlad_G said: Мои извинения, если задел чьи-то чувства. Дело в другом. Тут физически вам не смогут ответить на все мелкие возникающие вопросы: приоритеты операторов, как влияют скобки, выравнивание данных в памяти, сравнение чисел с плавающей точкой. Просто эту базу нужно освоить. Это фундамент. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vlad_G 6 30 октября, 2020 Опубликовано 30 октября, 2020 · Жалоба 14 hours ago, x893 said: Если за любым чихом создавать топик и ждать разжевынный ответ, то до старости так и будешь топики создавать. Надо учиться самому ответы находить. Вот это уже философский вопрос. За много лет на форумах уже накопились ответы на все вопросы, надо только поискать (а действительно, выходит что-то новое, а принципиально новое не так уж и часто выходит, быстренько обсасывают и ищем в архиве). Только будет ли это форумом? Или это будет кладбищем, где делов-то только найти могилку? Как вариант делать закрытый форум, такой междусобойчик для "казырей", но тут уже собственник репу чешет - то количество народу соответствует ли его ожиданиям. В конечном итоге вопрошающий проигрывает, поскольку не дошел сам, а вы, х893, подтвердили свою квалификацию. Соррян, занесло. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 30 октября, 2020 Опубликовано 30 октября, 2020 · Жалоба 2 minutes ago, Vlad_G said: ответы на все вопросы Все? Вы так шутите в пятницу? Не смешно. Смайлика нет. 2 minutes ago, Vlad_G said: Только будет ли это форумом? Похоже, чтовы не видите разницы между форумом и литературой. Ок. Поясню: на форуме вы задаёте конкретный вопрос для конкретной ситуации. И если она внешне похоже на ту, которую задали пару дней назад, это ещё не значит, что ответ вам подойдёт. Книга же даёт вам сразу кругозор, в том плане, как действовать не в конкретной ситуации, а во множестве подобных ситуаций. И потом, уже испоользуя логику и прочие когнитивные навыки, вы приходите от общего (книга) к частному (решение вашей проблемы). А вы пытаетесь идти от частного (чужого) к своему частному. 5 minutes ago, Vlad_G said: В конечном итоге вопрошающий проигрывает Ну да. Ибо не умеет учиться. А с каждой мелочью идёт на форум. А так как у него много мелочей, которые он не знает, то да - проигрывает. А знал бы эти мелочи, то задавал бы крупные вопросы, коих не с десяток каждый день, а один в неделю) 8 minutes ago, Vlad_G said: х893, подтвердили свою квалификацию. Какое вам дело до участников форума? Думайте о себе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vlad_G 6 30 октября, 2020 Опубликовано 30 октября, 2020 · Жалоба 6 minutes ago, haker_fox said: Назовите мне переменные, которым присваиваеются неконкретные и изменяемые адреса? Вы вообще о чём? Хорошо, может проясню для себя с вашей помощью. Локальная переменная с видимостью в пределах функции - не фигурирует в билд-анализире и файл .elf ее не передает в STMStudio (в данном контексте меня не интересуют способы передачи данных между функциями). Адрес этой переменной будет разный, в зависимости от ситуации. Адрес корректный, но изменяемый. Ошибаюсь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 30 октября, 2020 Опубликовано 30 октября, 2020 · Жалоба 3 minutes ago, Vlad_G said: Ошибаюсь? Прочитайте мой ответ выше. Я вам про такую переменную написал. Но вы то ей противопоставляете переменную с квалификатором volatile. А это уже другой вопрос. Я и говорю снова: вы задаёте детские вопросы, которые даже на форуме искать не надо. Лень книгу открыть? Или авторы не нравятся? Нет, я не против, я не хозяин форума, задавайте. Только каков ваш следующий вопрос будет? Почему код ниже работает некорректно? if( a == b ) // a и b переменные типа float Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vlad_G 6 30 октября, 2020 Опубликовано 30 октября, 2020 · Жалоба 22 minutes ago, haker_fox said: Вот для этого и используется ключевое слово volatile. В этом случае, комплятор сгенерирует код, который всегда обращается к адресу, в котором находится переменная, и не оптимизирует действия с ней, записав её, например, в регистр АЛУ. Вот это мне и надо. Более того, мне надо заранее знать каким будет этот адрес. Чем хуже волатиле других конструкций? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 30 октября, 2020 Опубликовано 30 октября, 2020 · Жалоба 6 minutes ago, Vlad_G said: Вот это мне и надо Вы что, регистр описываете у микроконтроллера? Так они уже все есть в хидере вашего компилятора. 6 minutes ago, Vlad_G said: Более того, мне надо заранее знать каким будет этот адрес Ну это точно не с помощью volatile делается. 7 minutes ago, Vlad_G said: Чем хуже волатиле других конструкций? Вы просто не понимаете разницы. Я вам объяснять весь курс начального программирования не хочу. Ну либо платите мне. Возможно, другие участники форума это сделают. Хотя, сомневаюсь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vlad_G 6 30 октября, 2020 Опубликовано 30 октября, 2020 (изменено) · Жалоба 21 minutes ago, haker_fox said: Почему код ниже работает некорректно? Ну не, такого вопроса точно не будет. Я с флоатом не работаю в принципе. Только инт - я соглашаюсь на некоторую погрешность при вычислениях, лишь бы не флоат. Хорошо! Спасибо еще раз, а вам haker_fox - особенно (и это не стёб) за терпение. Изменено 30 октября, 2020 пользователем Vlad_G Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 30 октября, 2020 Опубликовано 30 октября, 2020 · Жалоба 14 minutes ago, Vlad_G said: Я с флоатом не работаю в принципе. Так это дело времени. 14 minutes ago, Vlad_G said: особенно (и это не стёб) за терпение. Дерзайте) Я тоже раньше пытался по форумам учиться. Но со временем понял, что это очень неэффективно. Читая книгу - получаешь сразу пласты знаний. Появляется кругозор, фундаментальная подготовка. Встречая новую задачу - вспоминаешь, а ведь я про это читал. При необлходимости вновь освежаешь знания. Но самое главное - это совеобразные реперные точки, которые остаются в памяти... Именно поэтому я ставлю литературу на первое место. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 34 30 октября, 2020 Опубликовано 30 октября, 2020 · Жалоба 2 hours ago, Vlad_G said: В конечном итоге вопрошающий проигрывает, поскольку не дошел сам Вот в этом и проблема. Хотя возможностей для самостоятельного решения сильно больше стало. А скоро к форуму подключат ИИ, тогда ответы сразу будут появляться во время набора текста. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksandr Baranov 1 30 октября, 2020 Опубликовано 30 октября, 2020 · Жалоба 6 hours ago, Vlad_G said: Я с флоатом не работаю в принципе. Только инт - я соглашаюсь на некоторую погрешность при вычислениях, лишь бы не флоат. А что это за принцип такой? Я о нем не знаю и, может быть живу много лет в грехе? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться