В чем разница между и «stdio.h»? [дубликат]

Argh: D не самый быстрый

Process.Start("notepad C:\test.txt");
17
задан Community 23 May 2017 в 12:13
поделиться

5 ответов

<stdio.h> выполняет поиск в стандартных местах библиотеки C, тогда как "stdio.h" выполняет поиск и в текущем каталоге.

В идеале вы должны использовать <...> для стандартных библиотек C и "..." для библиотек, которые вы пишете и присутствует в текущем каталоге.

10
ответ дан 30 November 2019 в 12:26
поделиться

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

Обычно реализации определяют это местоположение относительно местоположения включаемого файла.

7
ответ дан 30 November 2019 в 12:26
поделиться

<> указывает компилятору искать файл в заголовках библиотек и "" заставляет его искать среди заголовков вашего приложения.

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

3
ответ дан 30 November 2019 в 12:26
поделиться

#include <something.h> предназначен для системных заголовков, а #include "something.h" для заголовков вашей собственной программы. Системные заголовки ищутся в обычных системных каталогах (и включенных в аргумент -I), которые ищут ваши заголовки в текущем каталоге, а затем в тех же местах, что и системные заголовки.

см. http://gcc.gnu.org/onlinedocs/gcc-2.95.3/cpp_1.html#SEC6

.
2
ответ дан 30 November 2019 в 12:26
поделиться

Обычно стандартные заголовочные файлы заключены в тег < > и другие пользовательские файлы указываются с помощью ".

2
ответ дан 30 November 2019 в 12:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: