Другие языки программирования и технологии

Что делает/обозначает #include (С++) Задали вопрос что такое include ...ответил что подключение к библиотекам...

Оказалось не верно. Подскажите что это еще может быть ...О_О Спасибо.
не совсем подключение к библиотекам. Вообще то это "прямая вставка" заголовочных файлов.
то есть: этой директивой мы говорим компилятору, что собираемся использовать идентификаторы, которые собственно говоря, и перечислены в заголовочных файлах. Поэтому компилятор, когда делает свою работу составляет таблицу идентификаторов. Когда он компилирует ваши функции (переменные, константы, классы) то вместе с кодом в объектный файл попадают их имена, а вот для тех которые вы подключаете с помощью инклюда - он не генерит код для них, просто на эти идентификаторы - ссылается.
Работа разрешения этих ссылок - это как раз работа линковщика, поэтому, если у вас в проекте не подключена библиотека (в свойствах проекта) , а вы пользуетесь заголовочным файлом, то получите ошибку линковки, хотя компилятор спокойно сделает свою работу и создаст объектный файл.
Аркадий Ерошенко
Аркадий Ерошенко
8 642
Лучший ответ
Это директива препроцессора. Директивы препроцессора представляют собой инструкции, записанные в тексте программы на СИ, и выполняемые до трансляции программы.
Твоя в данном случае берет и вставляет весь твой код из библиотеки как бы в начало
Касым ________
Касым ________
4 543
на самом деле это деректива препроцсора, которая вставляет содержимое указанного файла вместо строки "инклуд" и не является ни местом где объявляют функции, ни особым хранилищем, а также в этом файле отсутствует компиляция и линкования кода!
Содержимое"инклуд" файлов проверяется и компилируется только после вставки из файла.
вставка из файла? как делать?
Ев
Евгений
340