#c
#c
Вопрос:
Я нашел множество руководств, помогающих моему процессу в программировании сокетов, однако я очень новичок в C, и когда я пытаюсь выполнить программу, у нее возникают ошибки с
#include <sys/socket.h>
#include <netinet/in.h>
Почему это? Для этого я использую Eclipse. он не будет компилироваться и говорит «в этом проекте существуют ошибки, вы хотите продолжить»
И выделяет эти две строки, очевидно, что у него нет этих файлов для включения.. понятия не имею, как с ними разобраться..
руководство: http://beej.us/guide/bgnet/output/html/multipage/clientserver.html#datagram
РЕДАКТИРОВАТЬ: кодирование в окне wnidows, но должно будет работать / запускаться в окнах Windows и разных версиях Linux
Комментарии:
1. Какая платформа? Кроме того, включаемые файлы обычно выглядят следующим образом:
#include <sys/socket.h>
2. Вы используете # перед словом include?
3. Я думаю, что отрицательные голоса здесь немного жесткие.
4. linuxhowtos.org/C_C /socket. htm — это руководство
5. Вопрос в том, используете ли вы систему Unix-y, такую как Linux или Mac OSX, или вы используете Windows?
Ответ №1:
Вам нужно включить либо «», либо <> вокруг включаемых файлов. Вам также нужен символ #.
Например:
#include <sys/socket.h>
#include <netinet/in.h>
Комментарии:
1. да, они такие — у меня была проблема с редактором
2. Нажмите кнопку «Редактировать» под вашим вопросом и внесите изменения. Также стоило бы добавить, что это за сообщения об ошибках, чтобы мы могли помочь.
Ответ №2:
Эти заголовочные файлы доступны в операционных системах unixy, таких как FreeBSD, Mac OSX и Linux. Поскольку вы используете Windows прямо сейчас, вам придется использовать winsock, который является собственной реализацией BSD sockets API для Windows и имеет другие заголовки и некоторые немного отличающиеся имена функций.
Это подробно описано в одном разделе руководства Beej:http://beej.us/guide/bgnet/output/html/singlepage/bgnet.html#windows
Он также упоминает установку cygwin, которая позволила бы вам использовать заголовки, которые вы используете прямо сейчас, но я не уверен, что это будет для вас вариантом.