Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проект состоящий из нескольких файлов
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
Lagman
Посмотрел код, из проекта Open Pilot от Geohot, https://github.com/commaai/openpilot/tree/master/board и как то не понял, код оформлен (ну пускай авто отформатирован), но зачем он так сделал, в заголовочных .h файлах лежат куски кода и потом все эти файлы включаются в main.c
Да, это будет работать и даже откомпилируется (наверно с множеством предупреждений т.к. прототипов функций нет, хотя может он их по порядку выставил sm.gif), но это все равно что весь код разместить в одном файле и дальнейшая модификация будет затруднена. (Это все по моему мнению.)

Эдди
Дикий изврат.
Мне только один раз понадобилось код размещать в инклюдируемых файлах — для реализации операций поиска связных компонет. Код почти одинаковый, различающийся совсем немногим для 4- и 8-связных областей, поэтому решил, что легче будет с разными дефайнами заинклюдить один и тот же файл дважды!
// на гитхабе у меня лежит. Кажись, в с-сниппетах. Не помню уж точно.
Valentine Loginov
ИМХО, куски кода в хедерах нужны только в случае, если код нужно инлайнить, т.е. описать как static inline и проблем быть не должно.
smalcom
Цитата(Lagman @ Dec 2 2016, 22:51) *
но зачем он так сделал, в заголовочных .h файлах лежат куски кода и потом все эти файлы включаются в main.c


Плохо знает используемый компилятор. Как только пойдут множественные включения в несколько компилируемых единиц, то появятся ошибки линковки.
Kabdim
Может попытка добиться массового инлайна до того как в гцц толково заработла опция lto (а она кстати совсем недавно заработала без граблей).
psL
автору было лень с Makefile заморачиваться
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.