Обсуждаем контроллеры компании Atmel.
Ответить

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

Вт ноя 01, 2022 13:17:29

В этом нет ничего нового.
А должно быть? Просто возможностей С++ не достаточно?

Это лишь способа легко "штамповать" функции по второму пункту, точно так же их можно "штамповать" при помощи макросов в С.
Как создатель языка (уж не знаю Керниган вы или Ритчи), должны знать, что это совсем не так.

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

Вт ноя 01, 2022 16:39:50

Ну дак автор С++ - некто Страуструпп, поэтому господин "Керниган" конечно же не в полной мере знает особенности С++ :)))
Макросы и условная компиляция в Си - статична (имею ввиду невозможность изменять условия компиляции во время процесса компиляции). Шаблоны же - это аналог switch-case, только выполняемый во время компиляции, а не во время исполнения кода.

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

Вт ноя 01, 2022 22:12:12

Ну дак автор С++ - некто Страуструпп,


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

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

поэтому господин "Керниган" конечно же не в полной мере знает особенности С++ :)))


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

Макросы и условная компиляция в Си - статична (имею ввиду невозможность изменять условия компиляции во время процесса компиляции). Шаблоны же - это аналог switch-case, только выполняемый во время компиляции, а не во время исполнения кода.


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

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

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

С++, конечно, предоставляет такие средства как, например, явная специализация шаблонов, которые трудно или невозможно эмулировать через макросы языка С, но это никак не относится к рассматриваемой теме.

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

Вт ноя 01, 2022 23:02:45

Уууу, а случаем, г-н KorbenDallas не является ли родоначальником и С++ тоже, да и вообще, всего сущего на свете, то бишь, богом? :))) А то чето начал распространяться смрад "божественного духа". Интересно, как давно у него продолжаются такие фантазии? хехе

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

Вт ноя 01, 2022 23:20:08

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

Сорян, котаны... Я бы и сам не прочь, но занят уж больно. Не уговаривайте, чесслово не могу.

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

Вт ноя 01, 2022 23:57:30

Вы уж определитесь как-нить со своим статусом, иль таблеточки от расстройства личности выпейте, а то неудобно как-то получается, когда говорите, что:
Я - один из "создателей языка" :) Я, правда, один из "создателей языка" С, а не языка С++, но именно в этом качестве в свое время принимал участие в работе С++ комитета.

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

Ср ноя 02, 2022 00:31:28

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

Хотя манера мыслить в терминах "таблеточек", как правило указывает на то, что сырая и темная отдушина тут располагается исключительно между ушами, а душит их не лучи чьего-либо сияния, а банальная хвостодраная зависть :)

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

Ср ноя 02, 2022 05:38:22

Ага, только штош вы, о Великий и Всемогучий, тут то, среди нас, смертных, делаете? :))) "Участник одного, отец другого, создатель третьего". Какие титулы себе еще напишите? А таблеточки то пейте, пейте :))) а то лопните от себявосхваления.

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

Ср ноя 02, 2022 11:48:34

О! Схлеснулись! Запасаюсь пивом и буду смотреть. Тут уж не до Сишных плюсов :)
Да боюсь, модератор унасекомит этот дискусс в тематическом разделе.

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

Ср ноя 02, 2022 21:06:30

а я бы от отца послушал про тип данных void...

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

Ср ноя 02, 2022 21:50:12

тип данных void :dont_know:

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

Ср ноя 02, 2022 22:00:20

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

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

Ср ноя 02, 2022 23:19:42

Ага, только штош вы, о Великий и Всемогучий, тут то, среди нас, смертных, делаете? :))) "Участник одного, отец другого, создатель третьего". Какие титулы себе еще напишите?


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

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

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

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

---

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

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

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

2. "благодаря тому, что void* имеет размер 1 байт." - из каких Упанишад взят этот бред даже я с высоты своего сияющего всемогущества понять не смог :)

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

Ср ноя 02, 2022 23:31:26

слабовато для отца...

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

Ср ноя 02, 2022 23:52:51

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

Не волнуйтесь, он вернется к нам. Надеюсь поумневшим.

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

Чт ноя 03, 2022 05:36:15

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

появление где-то поблизости с ним в форуме по С и С++ (!) одного из авторов спецификации языка -)

Интернет тем и хорош, что можно выдавать себя хоть за наследного принца королевства орков, один фик - всем пофик. Этот "атец" - просто обычный чел, начитавшийся инфы и вдруг придумавший, что оказывается именно он-то и создал этот язык! Ну а че, инет всё стерпит. Потому и отношение к нему такое насмешливое, типа "о, какие тут люди, ай-ай, да как же нам тут повезло". Хотя конечно же это просто сарказм.
Последний раз редактировалось MLX90640 Чт ноя 03, 2022 07:56:59, всего редактировалось 2 раз(а).

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

Чт ноя 03, 2022 06:11:06

А для 8-битной AVR?

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

Чт ноя 03, 2022 08:06:49

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

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

Чт ноя 03, 2022 09:06:50

Понятное дело, что переменная, хранящая адрес void*, будет равна принятой [размерности для любого другого адреса переменной].
Давай сделаем третью попытку и заглянем таки в стандарт
A pointer to void shall have the same representation and alignment requirements as a pointer to a character type.

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

Чт ноя 03, 2022 09:14:12

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