Почему sys / types включены в каждый учебник по программированию, который я вижу без видимой причины? - PullRequest
1 голос
/ 26 апреля 2020

В последнее время я смотрел много обучающих программ по сокетам для C. В каждом из этих видео включен заголовочный файл sys/types, но когда я запускаю код, записанный в видео без sys/types, я не получаю предупреждений или ошибок. Что делает этот заголовочный файл и почему он так распространен?

1 Ответ

4 голосов
/ 26 апреля 2020

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

Со страницы руководства для socket системного вызова:

SYNOPSIS
       #include <sys/types.h>          /* See NOTES */
       #include <sys/socket.h>

       int socket(int domain, int type, int protocol);

...

NOTES
       POSIX.1 does not require the inclusion of <sys/types.h>, and this
       header file is not required on Linux.  However, some historical (BSD)
       implementations required this header file, and portable applications
       are probably wise to include it.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...