
Thorn
17.01.2018
15:35:08
про avr-gcc не знаю, возможно. (и 11 тоже уже не последний)

Petr
17.01.2018
15:38:08

Thorn
17.01.2018
15:38:32
ну я про него и говорил

Vasia
17.01.2018
15:38:53
знать бы что еще входит в это "без фанатизма"

Google

Thorn
17.01.2018
15:38:56
он такой один или почти один

Vasia
17.01.2018
15:39:19
а то эмбеддеры люди занятые, писать материал некогда
только если митапы смотреть, выуживать

Petr
17.01.2018
15:39:55
Атмел Студио умеет в с++14, судя по Гуглу

Max
17.01.2018
15:41:24
Ну, в общем "Си с классами"
А не ода ООП

Vasia
17.01.2018
15:42:04
ну без шаблонов можно и на чистом Си писать ?

Alexander
17.01.2018
15:42:08

Max
17.01.2018
15:42:26
Лучше совсем нафик

Alexander
17.01.2018
15:42:31

Vasia
17.01.2018
15:42:38
просто я немного на C# писал, более менее в ооп умею

Google

Max
17.01.2018
15:43:23
Чем проще, тем легче будет коллеге, который будет за вами поддерживать софт.
А если он серийный маньяк - останетесь живы

Alexander
17.01.2018
15:43:49

Дед Пегас
17.01.2018
15:44:30

Alexander
17.01.2018
15:44:43

Max
17.01.2018
15:44:45

Alexander
17.01.2018
15:44:47
подожди

Thorn
17.01.2018
15:45:10
вот пример, когда с шаблоном лучше, чем без него
template<typename T> void ZeroIt(T& value) {
memset(&value, 0, sizeof(value));
}

Дед Пегас
17.01.2018
15:45:22

Alexander
17.01.2018
15:45:25

Дед Пегас
17.01.2018
15:45:31
Таким шаблонам можно легко научить и питониста

Thorn
17.01.2018
15:45:38
ну и аналог для массива, а то в этот нельзя передать массив

Alexander
17.01.2018
15:45:40
совсем тривиальная - банально написать свой контейнер

Max
17.01.2018
15:45:47
Ребят, вы зря со мной спорите.
Это не я придумал

Alexander
17.01.2018
15:45:52

Max
17.01.2018
15:45:57
Это Гугль
Туда все претензии.

Alexander
17.01.2018
15:46:07

Google

Max
17.01.2018
15:46:13
Мне, как понимаете, что так, что так

Alexander
17.01.2018
15:46:19
для ликбеза
в гайдлайнах гугла помню, что исключения им не нравятся, это да

Max
17.01.2018
15:47:26
https://google.github.io/styleguide/cppguide.html#Template_metaprogramming

Дед Пегас
17.01.2018
15:47:39
> Avoid complicated template
Речь о гиперусложнённых.

Alexander
17.01.2018
15:47:46

Дед Пегас
17.01.2018
15:47:50
Это и правда бывает крайне вредно.

Alexander
17.01.2018
15:48:41
внезапно почти весь пункт про метапрограммирование на шаблонах, что довольно злая тема, тут согласен

Max
17.01.2018
15:48:43
Вы так обиделись, как будто я вам что-то запрещаю ))

Thorn
17.01.2018
15:48:43
кольцевой буфер опять же крайне полезно сделать с с template<typename Element, size_t n>

Alexander
17.01.2018
15:48:52
но пункта про полное запрещение шаблонов - не вижу

Max
17.01.2018
15:48:54
Пишите как хотите
Хоть на Ди

Alexander
17.01.2018
15:49:07

Дед Пегас
17.01.2018
15:49:08

Max
17.01.2018
15:49:22

Alexander
17.01.2018
15:49:25
а потом кинул ссыль, где не совсем то ?

Petr
17.01.2018
15:49:36

redbeard
17.01.2018
15:49:41
ссылку на эпик срач про c++ уже кидали?

Google

Alexander
17.01.2018
15:49:46
Был неправ, извините.
тогда забудем про гугл и вернёмся на шаг назад. Почему не стоит вообще использовать шаблоны?

Max
17.01.2018
15:51:01

Alexander
17.01.2018
15:51:37
\thread

Max
17.01.2018
15:51:48
Ну и славно
Кстати, про работу с сетью может стоит поглядеть https://dpdk.org/
just in case.

Thorn
17.01.2018
15:53:50
вот примитивное применение variadic, которое позволяет сделать типобезопасный аналог printf https://github.com/pthorn/safe-formatted-print/blob/master/include/fmt.h#L126

Vasia
17.01.2018
15:55:04
ну я по системщине скачал роберта лава и рами розена
последний хоть и ангельский, но вроде внятно написан
все ж как всегда упирается в практику

Max
17.01.2018
15:55:40
Лав хорош, да. С юмором

Vasia
17.01.2018
15:56:41
ну и джонатан корбет, тоже, к сожалению, ангельский
переварить еще надо материал

Kirill
17.01.2018
18:31:00
Следующий It global meetup 17 марта, кто хочет доклад подготовить?

Федюк
17.01.2018
18:47:48

Kirill
17.01.2018
18:52:51
Еще нет нового сайта для итгм 12. По факту прошлый был в таком формате piter-united.ru/itgm11/
На следующий ищем докладчиков, кто хочет, пишите

Cate
18.01.2018
04:59:30
https://tnenergy.livejournal.com/125733.html
Так себе эмбеддед))

Google

Vlad
18.01.2018
08:03:22

Kirill
18.01.2018
09:05:39
я использовал вариадики следующим образом.
Конфигурационные параметры это шаблонные типы.
Брал кучу этих конфигурационных параметров, генерировал из них тайплист и передавал шаблонно в класс отвечающий за микрушку.
Это было пипец как эффективно и гибко но столь же неподдерживаемо

Dmitry
18.01.2018
09:14:17
Уважаемые эмбеддеры, подскажите пожалуйста
В IAR EWARM при использовании ST-LINKa
Можно ли строить в реальном времени графики значения переменных
Что-то такое нашел в user guide, но там пишут про использование C-SPY
И сеггеровские отладчики, а если их нет?

Vasia
18.01.2018
09:16:36
для стм32 есть приложение для прямого доступа к памяти контроллера с построением графиков
на их сайте вроде лежит

Born
18.01.2018
09:38:20
Вопросик! Есть ядро с вшитой initramfs. Какие аргументы из загрузчика передавать, чтобы оно взлетело? Каков вообще механизм? Я думал, ядро само монтирует содержимое архива на / .

Mikhail
18.01.2018
09:49:59
а описание механизма загрузки когда-то неплохо было в gentoo wiki описано.

Born
18.01.2018
09:51:55


Mikhail
18.01.2018
09:52:47
Все файлы, утилиты, библиотеки, настройки конфигурации (если они применимы), и т.д. помещаются в cpio-архив. Этот архив затем сжимается с использованием утилиты gzip и сохраняется в том же месте, что и ядро Linux. Далее, загрузчик передаст его ядру Linux во время загрузки, чтобы ядро знало о том, что требуется initramfs.
При его обнаружении, ядро Linux создаст файловую систему tmpfs, извлечет на нее содержимое архива и затем запустит init-скрипт, расположенный в корневом каталоге файловой системы tmpfs. Этот скрипт затем примонтирует действительную корневую файловую систему (после того, как убедится, что он может ее примонтировать, например, с помощью загрузки дополнительных модулей, подготовки уровней абстракции шифрования, и т.д.), также как и другие существенно важные файловые системы (такие как /usr и /var).


Born
18.01.2018
09:53:58
Но initrd -- это ведь не то. Это рамдиск.
Вот. Поэтому нужно указать только устройство для монтирования. Верно?