реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Проект состоящий из нескольких файлов, Почему он так сделал!?
Lagman
сообщение Dec 2 2016, 20:51
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 875
Регистрация: 28-10-05
Пользователь №: 10 245



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

Go to the top of the page
 
+Quote Post
Эдди
сообщение Dec 2 2016, 22:26
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



Дикий изврат.
Мне только один раз понадобилось код размещать в инклюдируемых файлах — для реализации операций поиска связных компонет. Код почти одинаковый, различающийся совсем немногим для 4- и 8-связных областей, поэтому решил, что легче будет с разными дефайнами заинклюдить один и тот же файл дважды!
// на гитхабе у меня лежит. Кажись, в с-сниппетах. Не помню уж точно.
Go to the top of the page
 
+Quote Post
Valentine Logino...
сообщение Dec 8 2016, 07:33
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 7-04-10
Из: Пушкино
Пользователь №: 56 462



ИМХО, куски кода в хедерах нужны только в случае, если код нужно инлайнить, т.е. описать как static inline и проблем быть не должно.
Go to the top of the page
 
+Quote Post
smalcom
сообщение Feb 5 2017, 16:15
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



Цитата(Lagman @ Dec 2 2016, 22:51) *
но зачем он так сделал, в заголовочных .h файлах лежат куски кода и потом все эти файлы включаются в main.c


Плохо знает используемый компилятор. Как только пойдут множественные включения в несколько компилируемых единиц, то появятся ошибки линковки.
Go to the top of the page
 
+Quote Post
Kabdim
сообщение Feb 5 2017, 20:35
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 558
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



Может попытка добиться массового инлайна до того как в гцц толково заработла опция lto (а она кстати совсем недавно заработала без граблей).
Go to the top of the page
 
+Quote Post
psL
сообщение Feb 14 2017, 12:34
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 526
Регистрация: 5-08-05
Пользователь №: 7 390



автору было лень с Makefile заморачиваться
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th August 2025 - 17:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.0136 секунд с 7
ELECTRONIX ©2004-2016