Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 20.06.2011
Сообщений: 269

Вопрос по подключению header

25.07.2017, 12:12. Показов 2756. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Примерно суть проблемы такая: есть один хидер (назовём Project.h) в котором включены все хидеры для проекта (ну чтоб к файлам проекта подключать только Project.h), например такие как: perif.h, type.h, valua.h.
В хидере type.h обьявлен тип Uint16, а вот если в хидере valua.h определить переменную как внешнюю
Code
1
extern Uint16 temp;
то имеем ошибку:
Code
1
identifier "Uint16" is undefined
В Project.h выше type.h, ниже valua.h.
Конечно если в valua.h включить type.h то всё хорошо, но ведь должно и так работать, но что-то не доделано видимо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.07.2017, 12:12
Ответы с готовыми решениями:

Вопрос по подключению датчика СО2 MH-Z19
Всем доброго! Помогите решить следующую задачу. Вобщем, есть эмулятор 4х канального АЦП DS2450 для 1-Wire сети. Проект для Меги32 вот тут и...

Вопрос по подключению!!!
у меня такой вопрос: зачем некоторые люди при подключении интернета, модем ставят на отдельно собранный сервер...кароче они поставили на...

Вопрос по подключению к Dbase
Собственно проблема такая - нужно подключится к dbase,не используя всякие ODBC, и еще, желательно работать с базой с помощью SQL, как на...

25
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,864
26.07.2017, 00:14
Студворк — интернет-сервис помощи студентам
"Неэмбеддеры" в моём лице сидят на крестиках (впитавших родовые болезни си в виде отсутствия нормального механизма подключения модулей). И ещё на куче всякой дряни, включая jovossript, который вроде как охренителен (простота и элегантность всей этой конструкции с prototype-based OO внушает), а с другой - после него крестики кажутся раем на земле хотя бы в силу наличия статической типизации. Уйти целиком на какой-нибудь C# (или, напротив, Swyft) не даёт страшное слово "кроссплатформенность".

Riftistor, похоже, что так. Я на протяжении треда просто старался писать слово одинаково, а почему в первый раз написал через "и" - уже не помню, скорее всего, действительно подстроился под первый пост.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 382
26.07.2017, 00:27
Цитата Сообщение от //Mt
Цитата Сообщение от BusMostir
Дай бох, чтобы вам не попадались проекты по десять уровней вложенности.
Простите о каких уровнях вложенности идет речь?
Уровень вложенности в данном контексте = уровень абстракции. Не компилятора или линкера.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,864
26.07.2017, 00:35
Мы куда-то от headers совсем далеко ушли...
0
0 / 0 / 0
Регистрация: 20.06.2010
Сообщений: 454
26.07.2017, 00:42
Цитата Сообщение от BusMostir
Уровень вложенности в данном контексте = уровень абстракции. Не компилятора или линкера.
Абстракции чего?

Если речь идет о размещении файликов по структуре директорий - так, еще раз, компилятору всё равно. Прагриннистам, конечно, удобно иметь определенный порядок в своих файлах (директории, репозитории и т.п.).

Но мы говорили об подключении хедеров - и тут наши абстракции наталкиваются на прозу использования препроцессора. И соблюдение простых правил, о которых тут уже писали, позволяет не тратить свое время на анализ последовательности директив #include для подключения конкретного модуля. Если вы подключили хедер и получили ошибку компиляции - хедер в рефакторинг. Если вы "подключили" "модули" А и Б и, внезапно, выяснилось, что можно подключать только сначала Б потом А, потому что для А не хватает каких то определений из Б - модули говно и должны уйти в рефакторинг.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 382
26.07.2017, 00:49
Чего чего... Кода, конечно.
Я ж говорю - голова должна быть на месте, а не бездумно тыкать. Вот хорошо будет, когда вы на верхние уровни вытащите грязь с низов, и эта грязь с низов натолкнется друг на друга.
Ой, да кароче, я уже объяснял, че повторять то.

:) ладно, я тут на даче сижу, а уже на воздухе комарики кусають, пойду спать. Доброй всем...
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,864
26.07.2017, 01:34
Соглашусь насчёт пользы изоляции нижних уровней. Чем меньше "знает" каждый модуль - тем легче с ним работать.

К сожалению, если "грязь с низов" попала в header верхнего уровня (неважно, включили мы низкоуровневый header в среднеуровневый или это зачем-то должен сделать пользователь модуля) - всё, амба. Единственный путь - убирать низкоуровневые include в c-файлы. Ну, в крестиках ещё есть неймспейсы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.07.2017, 01:34

Вопрос по подключению HDD
Ребят,подскажите.У меня стоит 2 HDD сатовских.Хочу приткнуть еще и IDE.Уже подключал и ко второму разъему IDE на кабеле(первый на DVD ROM)...

Вопрос по подключению дополнительных модулей
Разбираю чужой код, подключены следующие модули: uses Windows, Messages, SysUtilits, Variants, Classes, Graphics, Controls,...

Вопрос по подключению лицевой панели
Доброго всем времени суток. Не пинайте особо, я ещё только учусь. Вопрос встал по подключению панели управления. На новом корпусе имеется...

Вопрос по подключению платы GIGABYTE GA-MA785G-UD3H.
Вообщем купил плату GIGABYTE GA-MA785G-UD3H.Не могу до конца подключить так называемую F_PANEL.Я подключил SPEAKER,RESET SW,POWER SW и...

Вопрос о bmp[header info]
Хочу открыть bmp файл и проверить, на самом ли деле это BMP. Для этого, делаю проверку первых двух байт на BM, и следующих четырех с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов и табличных частей документа при копировании
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы Кратко. . .
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем **Полевые заметки о двухнедельной совместной работе**. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru