Size: a a a

2020 May 25

D

Dr Zlo in pro.cxx
Сделаю всё же в куче, с++14 слишком костылен на этой задаче.
источник

AE

Andrey Enshin in pro.cxx
@andtit2001 , спасибо

как раз читаю эту статью. Увы, про историческую часть не нахожу упоминаний

Задача согласования номеров семейств протоколов (protocol family, первый аргумент), мне кажется, имеет сложность одного порядка с задачей согласования номеров протоколов
источник

АК

Александр Караев... in pro.cxx
Dr Zlo
Сделаю всё же в куче, с++14 слишком костылен на этой задаче.
Кстати, в коде выше массив вообще будет выделен на стеке, а не в BSS, ибо переменная не статическая =)
источник

D

Dr Zlo in pro.cxx
Александр Караев
Кстати, в коде выше массив вообще будет выделен на стеке, а не в BSS, ибо переменная не статическая =)
это мелочи реализации
источник

АК

Александр Караев... in pro.cxx
Dr Zlo
это мелочи реализации
Да ну. Я не специалист по микроконтроллерам, но мне казалось, что стек и BSS у них в разных местах находятся
источник

D

Dr Zlo in pro.cxx
Александр Караев
template <int w, int h> make_graphic(AbstractDisplay<w, h>* display) {
 return Graphic<w, h>(display);
}
Graphic<ST7789::width, ST7789::height> gfx(&display);
источник

D

Dr Zlo in pro.cxx
Александр Караев
Да ну. Я не специалист по микроконтроллерам, но мне казалось, что стек и BSS у них в разных местах находятся
эм, сильно сложно будет добавить static к массиву?
источник

АК

Александр Караев... in pro.cxx
Dr Zlo
эм, сильно сложно будет добавить static к массиву?
Смысл поменяется
источник

IZ

Ilia Zviagin in pro.cxx
Andrey Enshin
спасибо!

ещё вопросик:
socket() из libc требует аж 3 аргумента - domain, type, protocol

почему бы сразу не передвать уникальный номер протокола?
Люди ДЕСЯТИЛЕТИЯМИ создавали этот стек, а ты хочешь так вот прийти, и за 5 минут получить ответ на свой вопрос?
источник

D

Dr Zlo in pro.cxx
Александр Караев
Смысл поменяется
Почему?
источник

АК

Александр Караев... in pro.cxx
Dr Zlo
Почему?
Потому что статические переменные единственные на класс, а не на объект. ООП тихо плачет в уголке, когда ты делаешь статическими мемберы класса, которые концептуально таковыми не являются
источник

АК

Александр Караев... in pro.cxx
Сразу в глобал всё зафигачить, чего мелочиться
источник

D

Dr Zlo in pro.cxx
логично
источник

D

Dr Zlo in pro.cxx
опять шаблоны ради шаблонов вышли
источник

VO

Vyacheslav Olkhovche... in pro.cxx
Dr Zlo
угу, но линковка идет после компиляции, а на этапе компиляции размер уже известен
не понимаю, тебе вот это что ли надо: https://godbolt.org/z/1dswXa ?
источник

D

Dr Zlo in pro.cxx
источник

D

Dr Zlo in pro.cxx
коммент в конструкторе graphic
источник

АК

Александр Караев... in pro.cxx
Dr Zlo
логично
https://assets.ctfassets.net/oxjq45e8ilak/14QZ2KcQLSVDLoEoAjoMtw/c85646939e938dfc9680ce6d85c522e2/100648_36662216_Karina_Dorozhkina_BareMetal_C.pdf
Изучи.
Там рассказывается про то, как можно без особого геморроя использовать всю стандартную библиотеку (std::vector, std::string и прочие аллоцирующие контейнеры), не используя heap. Всего лишь нужно реализовать BaremetalAllocator, который реализует псевдокучу поверх BSS
источник

R

Ruslan in pro.cxx
так может w, h сделать таки шаблонными параметрами или дисплей может пересоздаваться в рилтайме?
источник

R

Ruslan in pro.cxx
можно еще плейсмент new использовать если не хочется в хип
источник