где заголовок сокета в Linux - PullRequest
       1

где заголовок сокета в Linux

7 голосов
/ 26 октября 2010

Я скомпилирую свою простую прогу с #include <sys/socket.h>, но этого файла нетГде это, я просто начинаю кодировать в Linux, и я понятия не имею, где это.Или нам нужно скачать его онлайн.

Ответы [ 5 ]

19 голосов
/ 26 октября 2010

В случае, если вы установили страницы справочника, первая остановка должна быть man socket.

Без справочных страниц вы могли бы вызвать

find /usr/include -name socket.h

, которая выдаст

/usr/include/asm/socket.h
/usr/include/sys/socket.h
/usr/include/bits/socket.h
/usr/include/linux/socket.h

в моей системе необходимо включить sys/socket.h.

Также см. Single UNIX Specification .

2 голосов
/ 02 мая 2014

В свежем Linux, например, Ubuntu X86-64, пока нет установленного gcc, нет заголовков socket.h, а при установленном gcc вы можете find его под /usr/include, для менявывод:

$ find /usr/include/ -name socket.h
/usr/include/asm-generic/socket.h
/usr/include/x86_64-linux-gnu/asm/socket.h
/usr/include/x86_64-linux-gnu/bits/socket.h
/usr/include/x86_64-linux-gnu/sys/socket.h
/usr/include/linux/socket.h
2 голосов
/ 26 октября 2010
man socket

должен дать вам ответ.

1 голос
/ 26 октября 2010

Вам нужно

#include <sys/socket.h>

См. Это:

http://linux.die.net/man/7/socket

0 голосов
/ 26 октября 2010

Должно быть #include <sys/socket.h>.Вам также может понадобиться включить sys/types.h.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...