Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 01.07.2013
Сообщений: 38
1

Заголовочные файлы .h, файлы исходного когда c/c++ и установление связи между ними

21.07.2015, 20:20. Показов 3761. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем добрый вечер!)
Относительно недавно стал изучать c/c++, хочу полюбопытствовать ,так как появился вопрос.
Почему при объявлении прототипов функции в заголовочных файлах компилятор их видит,то есть связь каким-то образом устанавливается без участия программиста (то есть компилятор видит что та или иная функция существует в каком либо с++ файле и не ругается на него и наоборот), а в файлах исходников не видно без #include "name.h" содержимого заголовочного файла?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.07.2015, 20:20
Ответы с готовыми решениями:

Работа в Visual Studio 2015 - как добавить файлы исходного кода и заголовочные файлы?
Приветствую всех! Столкнулся с тем, что решая задачи по книге Лафоре про графику, не смог добавить...

Как подключить между собой заголовочные файлы
Вообщем. У меня есть два класса в разных файлах, они хранят указатели друг друга и при компиляции...

Обращение между формами. Заголовочные файлы подключил. Пытаюсь из трэк бара внести значение в Лейбл на другой форме
void __fastcall TGame_Form::TrackBar1Change(TObject *Sender) {...

Заголовочные файлы и файлы cpp
Со временем сложилось представление что при написании программ стоит разделять МЕТА данные и...

2
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
21.07.2015, 20:50 2
Вопрос туманен. Там, где делается вызов функции, компилятор должен видеть прототип вызываемой функции (прямо прописанный в этом файле, в месте до вызова функции, или через инклуд заголовочного файла с прототипом). Реализацию этой функции, в .cpp файле, найдёт компоновщик.
Цитата Сообщение от llotall Посмотреть сообщение
а в файлах исходников не видно без #include "name.h"
Что за файлы исходников?
1
2782 / 1935 / 570
Регистрация: 05.06.2014
Сообщений: 5,600
21.07.2015, 21:56 3
Цитата Сообщение от llotall Посмотреть сообщение
Почему при объявлении прототипов функции в заголовочных файлах компилятор их видит,то есть связь каким-то образом устанавливается без участия программиста (то есть компилятор видит что та или иная функция существует в каком либо с++ файле и не ругается на него и наоборот), а в файлах исходников не видно без #include "name.h" содержимого заголовочного файла?
Код шаблонов (из которых STL состоит чуть менее чем полностью) как раз таки целиком запихивается в заголовочный файл. Остальной код стандартных библиотек, на сколько я помню, поставляется в заранее скомпилированном виде. То есть, компилятор просто прицепляет к программе шмат готового кода, а заголовочный файл использует лишь как оглавление этого шмата. Из-за чего Hello, World!, который вообще говоря мог бы весить пару килобайт, раздувается аки воздушный шарик (туда попадает вообще весь шмат, а не только то что нужно чтобы вывести одну разнесчастную строчку тексту на экран). Впрочем, это поведение вроде бы отключается какими-то опциями компилятора и некоторым количеством последующих взмахов бубна.
1
21.07.2015, 21:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.07.2015, 21:56
Помогаю со студенческими работами здесь

Раздельная компиляция: что помещать в заголовочные файлы, а что в файлы реализации (исходники)?
Здравствуйте, я учусь пользоваться Visual Studio.Пишу программу, в которой создаются и разрушаются...

(Access) Создание таблиц и установление связей между ними
Тесты. включают таблицы -группа -студенты -прохождение тестов -тема теста -название теста ...

Установление связи между таблицами
Уважаемые программисты! Помогите, пожалуйста. --Есть таблица, каждая запись которой имеет свой...

Удалить все файлы, кроме первого, последнего и каждого 10-го между ними
Здравствуйте. Есть список каталогов на одном уровне (имена ПК), там файлы-отчеты txt одного типа...

Зачем нужно добавлять файлы в файлы исходного кода
Зачем нужно добавлять файлы в файлы исходного кода (кроме main.cpp)? И как вызвать из main.cpp...

Когда я передаю файлы через TClientSocket & TServerSocket мультимедийные файлы приходят битыми
Всем здравствуйте! В общем, я решил сделать удалённый захват экрана (не спрашивайте зачем) и...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru