Различие в #include "mylib.h" и #include <mylib>

127
11 февраля 2022, 14:10

Почему при объявлении стандартных библиотек компилятор принимает запись #include <syslib>, а стоит подключить свою библиотеку, например, вида #include <mylib>, так компилятор выдает ошибку No such file or directory?

Однако, при изменении строки #include <mylib> на #include "mylib.h" все он находит прекрасно.

Великие странности или лыжи просто не едут...

Answer 1

Вот, отсюда (первый же ответ Google на "Включаемые файлы угловые скобки C"):

Директива #include заставляет компилятор прочитать и скомпилировать указанный исходный файл. Для записи этой директивы используются следующие общие формы.

#include "имя_файла"
#include <имя_файла>

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

#include <MyFuncs.h>

заставит компилятор прочитать и скомпилировать файл MyFuncs.h.

Если имя файла заключено в угловые скобки, то поиск файла будет осуществляться способом, определенным создателем компилятора. Часто это означает, что поиск выполняется в некотором специальном каталоге, выделенном для заголовочных файлов. Если же имя файла заключено в кавычки, поиск файла выполняется другим способом, зависящим от конкретной реализации. Во многих случаях это означает поиск текущего рабочего каталога. Если заданный файл не найден, поиск повторяется с использованием первого способа (как если бы имя файла было заключено в угловые скобки). Чтобы ознакомиться с подробностями, связанными с различной обработкой директивы #include в случае использования угловых скобок и двойных кавычек, обратитесь к руководству пользователя, прилагаемому к вашему компилятору. Операторы #include могут быть вложенными внутри других включаемых файлов.

READ ALSO
Как в winapi убрать кнопки &quot;справка&quot; и &quot;файл&quot;?

Как в winapi убрать кнопки "справка" и "файл"?

Даже с стилем WS_POPUP остаются эти мерзкие кнопки и заголовок с названием окна, мне нужно и то и другое убрать(желательно без использования WS_POPUP)

97
C++ DirectX: С чего начать?

C++ DirectX: С чего начать?

Недавно появилось сильное желание погрузится в изучение DirectX, по итогу этого изучения хотелось бы написать какую-нибудь простенькую игрушкуПроблема...

78
Указатели при работе с файлами. Проблема с объектами пользовательского класса

Указатели при работе с файлами. Проблема с объектами пользовательского класса

По этому коду я уже задавал вопросВозникли новые ошибки

104
LoadLibrary бросает исключение

LoadLibrary бросает исключение

Пишу свойdll файл, при импорте функций из библиотеки функция LoadLibrary выкидывает исключение о нарушении прав доступа при чтении

71