Нескольно простых вопросов о программировании AVR на Си.

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Нескольно простых вопросов о программировании AVR на Си.

Сообщение VladislavS »

[uquote="KorbenDallas",url="/forum/viewtopic.php?p=4313039#p4313039"]В этом нет ничего нового.[/uquote]А должно быть? Просто возможностей С++ не достаточно?

[uquote="KorbenDallas",url="/forum/viewtopic.php?p=4313039#p4313039"]Это лишь способа легко "штамповать" функции по второму пункту, точно так же их можно "штамповать" при помощи макросов в С.[/uquote]Как создатель языка (уж не знаю Керниган вы или Ритчи), должны знать, что это совсем не так.
Реклама
Аватара пользователя
MLX90640
Опытный кот
Сообщения: 848
Зарегистрирован: Ср авг 03, 2022 05:22:56

Re: Нескольно простых вопросов о программировании AVR на Си.

Сообщение MLX90640 »

Ну дак автор С++ - некто Страуструпп, поэтому господин "Керниган" конечно же не в полной мере знает особенности С++ :)))
Макросы и условная компиляция в Си - статична (имею ввиду невозможность изменять условия компиляции во время процесса компиляции). Шаблоны же - это аналог switch-case, только выполняемый во время компиляции, а не во время исполнения кода.
Реклама
Аватара пользователя
KorbenDallas
Встал на лапы
Сообщения: 93
Зарегистрирован: Пн окт 31, 2016 06:23:19

Re: Нескольно простых вопросов о программировании AVR на Си.

Сообщение KorbenDallas »

[uquote="MLX90640",url="/forum/viewtopic.php?p=4313266#p4313266"]Ну дак автор С++ - некто Страуструпп,[/uquote]

Рабочая группа WG21 удивленно переглянулась. Точнее, переглянулась бы, если бы узнала, что некто MLX90640 на каком-то форуме назвал автором С++ Страуструппа... ("пп", сириоузли?)

(Зрителям: что-то, я смотрю, тут на форуме что ни пост - так повод удивленно переглянуться. Участников форума можно на улице узнавать по перманентно удивленной мине на физиономии?)

[uquote="MLX90640",url="/forum/viewtopic.php?p=4313266#p4313266"]поэтому господин "Керниган" конечно же не в полной мере знает особенности С++ :)))[/uquote]

Котик мой, когда вы будете "не в полной мере знать особенности С++" так, как "не в полной мере" знаю их я... :)

[uquote="MLX90640",url="/forum/viewtopic.php?p=4313266#p4313266"]Макросы и условная компиляция в Си - статична (имею ввиду невозможность изменять условия компиляции во время процесса компиляции). Шаблоны же - это аналог switch-case, только выполняемый во время компиляции, а не во время исполнения кода.[/uquote]

Лол! "Как два раза сказать одно и то же, но при этом напихать в сказанное лишних слов и оборотов, что не сразу было очевидно, что два раза сказано одно и то же".

Нет. Оба процесса соврешенно одинаково "статичны".

Нет никакой разницы между "генерацией" функций через макросы в С или шаблоны в С++, кроме того, что в С такую генерацию нужно выполнять явно, а в С++ ее можно выполнять как явно, так и неявно. Хотя даже и в "неявном" случае в С++ шаблоны сами по себе не инстанцируются. Триггером инстанцирования шаблона все равно всегда являются явные действия пользователя, напр. использование имени шаблона функции с оператором вызова функции и конкретными типами аргументов.

С++, конечно, предоставляет такие средства как, например, явная специализация шаблонов, которые трудно или невозможно эмулировать через макросы языка С, но это никак не относится к рассматриваемой теме.
Аватара пользователя
MLX90640
Опытный кот
Сообщения: 848
Зарегистрирован: Ср авг 03, 2022 05:22:56

Re: Нескольно простых вопросов о программировании AVR на Си.

Сообщение MLX90640 »

Уууу, а случаем, г-н KorbenDallas не является ли родоначальником и С++ тоже, да и вообще, всего сущего на свете, то бишь, богом? :))) А то чето начал распространяться смрад "божественного духа". Интересно, как давно у него продолжаются такие фантазии? хехе
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
KorbenDallas
Встал на лапы
Сообщения: 93
Зарегистрирован: Пн окт 31, 2016 06:23:19

Re: Нескольно простых вопросов о программировании AVR на Си.

Сообщение KorbenDallas »

Я смотрю, тут наблюдается ярко выраженный дефицит богов. Каждому встречному и поперечному внезапно предлагают занять вакантное место... "Оставайтесь! Будете Гениальным Механиком Планеты!" (с)

Сорян, котаны... Я бы и сам не прочь, но занят уж больно. Не уговаривайте, чесслово не могу.
Реклама
Аватара пользователя
MLX90640
Опытный кот
Сообщения: 848
Зарегистрирован: Ср авг 03, 2022 05:22:56

Re: Нескольно простых вопросов о программировании AVR на Си.

Сообщение MLX90640 »

Вы уж определитесь как-нить со своим статусом, иль таблеточки от расстройства личности выпейте, а то неудобно как-то получается, когда говорите, что:
[uquote="KorbenDallas",url="/forum/viewtopic.php?p=4313005#p4313005"]Я - один из "создателей языка" :) Я, правда, один из "создателей языка" С, а не языка С++, но именно в этом качестве в свое время принимал участие в работе С++ комитета.[/uquote]
Реклама
Аватара пользователя
KorbenDallas
Встал на лапы
Сообщения: 93
Зарегистрирован: Пн окт 31, 2016 06:23:19

Re: Нескольно простых вопросов о программировании AVR на Си.

Сообщение KorbenDallas »

Ого! Это ж в какой дремучей, беспросветной, темной и сырой подвальной отдушине ютятся эти четверолапые, народ, если бывший участник WG14, отец сишной демократии в их глазах лучезарит божественным сиянием.

Хотя манера мыслить в терминах "таблеточек", как правило указывает на то, что сырая и темная отдушина тут располагается исключительно между ушами, а душит их не лучи чьего-либо сияния, а банальная хвостодраная зависть :)
Аватара пользователя
MLX90640
Опытный кот
Сообщения: 848
Зарегистрирован: Ср авг 03, 2022 05:22:56

Re: Нескольно простых вопросов о программировании AVR на Си.

Сообщение MLX90640 »

Ага, только штош вы, о Великий и Всемогучий, тут то, среди нас, смертных, делаете? :))) "Участник одного, отец другого, создатель третьего". Какие титулы себе еще напишите? А таблеточки то пейте, пейте :))) а то лопните от себявосхваления.
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6312
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Нескольно простых вопросов о программировании AVR на Си.

Сообщение Jack_A »

О! Схлеснулись! Запасаюсь пивом и буду смотреть. Тут уж не до Сишных плюсов :)
Да боюсь, модератор унасекомит этот дискусс в тематическом разделе.
Изображение
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Нескольно простых вопросов о программировании AVR на Си.

Сообщение ARV »

а я бы от отца послушал про тип данных void...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Нескольно простых вопросов о программировании AVR на Си.

Сообщение Аlex »

Аватара пользователя
MLX90640
Опытный кот
Сообщения: 848
Зарегистрирован: Ср авг 03, 2022 05:22:56

Re: Нескольно простых вопросов о программировании AVR на Си.

Сообщение MLX90640 »

Да, вот как "атец" мог придумать void (пустой), который в реале имеет размерность 1 байт. Указатель на void* указывает на нечто размером 1 байт.
Но зато под void* при передаче его в параметрах ф-ции можно подложить любой тип, даже структуру с кучей элементов, а затем явным образом привести void* к требуемому типу, как раз благодаря тому, что void* имеет размер 1 байт.
Аватара пользователя
KorbenDallas
Встал на лапы
Сообщения: 93
Зарегистрирован: Пн окт 31, 2016 06:23:19

Re: Нескольно простых вопросов о программировании AVR на Си.

Сообщение KorbenDallas »

[uquote="MLX90640",url="/forum/viewtopic.php?p=4313565#p4313565"]Ага, только штош вы, о Великий и Всемогучий, тут то, среди нас, смертных, делаете? :))) "Участник одного, отец другого, создатель третьего". Какие титулы себе еще напишите?[/uquote]

Видите, народ: воспаление началось - и затем разрастается как плесень на штукатурке, только быстрее. Титулы придумываются, великость с всемогуществом...

Разумеется, вы все сразу педантично отметили хрестоматийные симптомы "комплекса плебея": индивидуум настолько глубоко считает сам себя куском коровьей лепешки, настолько уверен в том, что с ним рядом в поле никто даже "до ветру" не сядет, что появление где-то поблизости с ним в форуме по С и С++ (!) одного из авторов спецификации языка - явление, кстати, само по себе ничем не примечательное - им воспринимается как пришествие Великого и Всемогущего, как прикосновение к Богу. Всё - его слова.

Я уверен, что вы все это наблюдали не раз, но меня, признаюсь честно, это всегда шокирует: насколько же глубоко в некоторых людях укоренилась дегенеративная манера считать самих себя некоей недоразвитой одноклеточной слизью, что даже самая элементарная компетентность других людей, даже элементарное владение таблицей умножения вызывает у них реакцию в стиле "Ах, ты оказывается реинкарнация самого Пифагора! Что же ты, Великий, делаешь среди нас, недостойных?".

Упоминание "таблеточек" тут вполне уместно и тоже говорит о многом...

---

Компактность, плотность и концентрация информации в болтовне о `void` зашкаливает :)

1. "void (пустой), который в реале имеет размерность 1 байт" - одна эта фраза содержит в себе описание жизненного пути длиною в боль.

В слегка разбавленной живительной влагой и развернутой форме это выглядит примерно так: "В С и С++ не смыслит вообще ничего, но "лабал на GCC", свято веря, что это заменяет. Как это обычно и бывает с подобными дворовыми самоучками, из GCC поднабрался дерьмеца, но тогда не понимал этого, ибо круг общения состоял из таких же самоучек-потребителей той же жижи. В один прекрасный момент попал в Интернет, где ему детально и довольно жестко кое-что объяснили, то есть посветили фонариком знания в смрад закостенелых домыслов. После третьей-четвертой засветки пришло осознание, вспыхнули зачатки понимания, а с ними вспыхнула и боль. Мучительная - за бесцельно прожитые годы. Боль, из-за которой 1% подобных индивидуумов "убивается головой апстену", 5% берутся за ум и худо-бедно восстанавливают человеческий образ, а оставшиеся 93.999996% уходят в стадию отрицания, проявляющуюся в том числе в периодических выбросах вроде "void (пустой), который в реале имеет размерность 1 байт".

2. "благодаря тому, что void* имеет размер 1 байт." - из каких Упанишад взят этот бред даже я с высоты своего сияющего всемогущества понять не смог :)
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Нескольно простых вопросов о программировании AVR на Си.

Сообщение ARV »

слабовато для отца...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
KorbenDallas
Встал на лапы
Сообщения: 93
Зарегистрирован: Пн окт 31, 2016 06:23:19

Re: Нескольно простых вопросов о программировании AVR на Си.

Сообщение KorbenDallas »

Это не для отца, котятки вы мои пушистые шерстятки, совсем не для отца. Это - для нашего заблудшего сына. Вот прям сейчас как вижу: хорошо зашло, вставило ему так, что аж в звенящую струну вытянуло от носа и до кончика хвоста, словно багет целиком зохавал. Его сейчас такого мягко держит на своих лапах всепоглощающий и всепрощающий, безразмерный и бездонный void...

Не волнуйтесь, он вернется к нам. Надеюсь поумневшим.
Аватара пользователя
MLX90640
Опытный кот
Сообщения: 848
Зарегистрирован: Ср авг 03, 2022 05:22:56

Re: Нескольно простых вопросов о программировании AVR на Си.

Сообщение MLX90640 »

Да, слабовато для "создателя языка" :) Нифпичатлило! ЧСВ распирает, букв дохрена, а реально по делу - нихрена. Так что этот господин - никакой не "создатель языка", а так, просто хвастун и болтун.
Я имел ввиду, что указывает void* на первый байт любого массива, структуры или типа, и минимальный размер шага (инкремента) указателя void* - 1 байт. В отличие от этого, инкремент указателя не-void* равен размеру типа, на который он указывает.
Изображение Изображение
Понятное дело, что переменная, хранящая адрес void*, будет равна принятой [размерности для любого другого адреса переменной]. Для 32-битной разрядности адрес хранится в 4 байтах.

[uquote="KorbenDallas",url="/forum/viewtopic.php?p=4314027#p4314027"]появление где-то поблизости с ним в форуме по С и С++ (!) одного из авторов спецификации языка -)[/uquote]
Интернет тем и хорош, что можно выдавать себя хоть за наследного принца королевства орков, один фик - всем пофик. Этот "атец" - просто обычный чел, начитавшийся инфы и вдруг придумавший, что оказывается именно он-то и создал этот язык! Ну а че, инет всё стерпит. Потому и отношение к нему такое насмешливое, типа "о, какие тут люди, ай-ай, да как же нам тут повезло". Хотя конечно же это просто сарказм.
Последний раз редактировалось MLX90640 Чт ноя 03, 2022 07:56:59, всего редактировалось 2 раза.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Нескольно простых вопросов о программировании AVR на Си.

Сообщение VladislavS »

А для 8-битной AVR?
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Нескольно простых вопросов о программировании AVR на Си.

Сообщение ARV »

да, собственно, меня больше интересует мнение отца о том, насколько логичен тип данных (void это же тип данных?!), для которого нельзя создать переменную? а следом вопрос о том, как отец допустил, что Си - это язык с диким количеством противоречий, решаемых костылями типа "а возьмем и пропишем в стандарте, сделав из костыля или полной дичи норму".
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Нескольно простых вопросов о программировании AVR на Си.

Сообщение VladislavS »

[uquote="MLX90640",url="/forum/viewtopic.php?p=4314081#p4314081"]Понятное дело, что переменная, хранящая адрес void*, будет равна принятой [размерности для любого другого адреса переменной].[/uquote]Давай сделаем третью попытку и заглянем таки в стандарт
A pointer to void shall have the same representation and alignment requirements as a pointer to a character type.
Аватара пользователя
MLX90640
Опытный кот
Сообщения: 848
Зарегистрирован: Ср авг 03, 2022 05:22:56

Re: Нескольно простых вопросов о программировании AVR на Си.

Сообщение MLX90640 »

А давай лучше сделаешь попытку осознать, как именно хранится адрес
Ответить

Вернуться в «AVR»