Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.63
illuminati
20 / 20 / 4
Регистрация: 14.06.2010
Сообщений: 108
#1

Подключение заголовочных файлов - C++

18.11.2010, 21:37. Просмотров 2047. Ответов 5
Метки нет (Все метки)

Итересует меня вопрос : нужно ли при компиляции программ оставлять только нужные хэдеры ? т.е. их минимальное кол-во для корректной компиляции приложения. Т.е. влияют ли негативно, не используемые хэдеры в программе ?
Вопрос возник потому, что у меня есть определённая заготовка с которой я постоянно работаю, и там подключены все основные библиотеки. Пример :
C++
1
2
3
4
5
6
7
#include <iostream>
#include <string.h>
#include <windows.h>
 
int main( void ) {
  return 0;
}
Если собрать Hello World, но с выше приведенными библиотеками, с точки зрения программирования это допустимо ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2010, 21:37     Подключение заголовочных файлов
Посмотрите здесь:

C++ Подключение заголовочных файлов
Отличие заголовочных файлов C++
C++ Перекрестное подключение заголовочных файлов
Подключение заголовочных файлов. C++
Подключение заголовочных файлов C++
C++ Назначение заголовочных файлов
Подключение к main.cpp заголовочных файлов с классами C++
Правильное подключение заголовочных файлов C++
Правильное подключение заголовочных файлов C++
Перекрёстное подключение заголовочных файлов C++
Подключение заголовочных файлов C++
Иерархия заголовочных файлов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rrrFer
Заблокирован
18.11.2010, 21:40     Подключение заголовочных файлов #2
Цитата Сообщение от illuminati Посмотреть сообщение
Т.е. влияют ли негативно, не используемые хэдеры в программе ?
влияют на размер исполняемого файла.
остальные вопросы не понял.
illuminati
20 / 20 / 4
Регистрация: 14.06.2010
Сообщений: 108
18.11.2010, 21:54  [ТС]     Подключение заголовочных файлов #3
rrrFer, например :
в программе Hello World используется только cout. Для его работы нужен iostream, а string.h и windows.h не нужны. Правильнее будет убрать не нужные хэдеры, или всем строго безразлично сколько хэдеров я подлкючил ?
Просто я плохо запоминаю какие хэдеры нужны для определённых функций, т.е к примеру для system() нужен stdlib.h и всё в таком духе...

Добавлено через 1 минуту
+ ещё мне друг говорил, что из хэдеров берется код только для тех функций, которые используются в программе, а все остальное отбрасывается на этапе сборки... вот и хочу узнать
^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 1
18.11.2010, 22:01     Подключение заголовочных файлов #4
illuminati, содержимое хедеров используется только тогда когда вызваются оттуда функции и т.п.
Адрес: UA, Харьков | Бердянск
Сообщений: 109
Рейтинг сообщений: 12
Репутация: 12
Цитата выделенного

По умолчанию Re: Подключение заголовочных файлов
rrrFer, например :
в программе Hello World используется только cout. Для его работы нужен iostream, а string.h и windows.h не нужны.
если подключить эти файлы то только размер будет увеличен за счет только этих строк...но не до размера самих файлов.Другое дело если содержимое файлов записать в main.cpp....Тогда размер огромным будет...Если конечно же нигде не подключать файлы..в хедерах ведь тоже хедеры подключены
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
18.11.2010, 22:02     Подключение заголовочных файлов #5
В любом случае только на размер.
Директива #include просто подставляет весь текст подключаемого файла в программу.
rrrFer
Заблокирован
18.11.2010, 22:08     Подключение заголовочных файлов #6
illuminati, походу отбрасывается, сейчас проверил, на размер исполняемого файла даже не влияет.

Добавлено через 1 минуту
illuminati, хотя, может зависеть от настроек компилятора.
Yandex
Объявления
18.11.2010, 22:08     Подключение заголовочных файлов
Ответ Создать тему
Опции темы

Текущее время: 14:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru