Это удобный способ предоставления некоторой «структуры пространства имен» для заголовочных файлов. В мире Unix основное разделение происходит между заголовками, такими как <stdio.h>
, которые часто бывают довольно общими и предназначены в основном для пользовательских программ, а не для использования ядром операционной системы. Напротив, заголовки типа <sys/sysinfo.h>
или <sys/types.h>
были предназначены для использования при компиляции ядра - они были более системными.
В настоящее время он предоставляет способ отделить заголовки вашего проекта от заголовков другого проекта. Например, <openssl/ssl.h>
идентифицирует заголовок как принадлежащий к базе кода OpenSSL.
Я не знаю, есть ли конкретное имя для этого стиля указания заголовков.
Обратите внимание, что если заголовки OpenSSL хранятся в каталоге /usr/local/include/openssl
, то вы указываете -I /usr/local/include
в командной строке компилятора. На самом деле происходит поиск заголовка путем добавления префикса имени в угловых скобках к одному из нескольких стандартных каталогов, из которых по умолчанию /usr/include
в Unix. Следовательно, <stdio.h>
находится в /usr/include/stdio.h
, а <sys/sysinfo.h>
находится в /usr/include/sys/sysinfo.h
и т. Д.