Может ли avr-g cc использовать sys / socket.h?
Нет. Оно не может. Это не ограничение компилятора, хотя. Это ограничение системы, в которой должен выполняться ваш код.
Заголовки sys/*.h
не являются частью стандартной библиотеки C и доступны только в POSIX-совместимых операционных системах и предоставляют функции C для взаимодействия с ОС. Заголовок sys/socket.h
предоставляет функции для взаимодействия с операционной системой для создания, управления и взаимодействия с сокетами.
Поскольку сокеты - это функция, предоставляемая операционной системой, и вы компилируете код, который запускается без изменений. микроконтроллер Arduino, на котором не работает операционная система , работающий на вершине, все назначение заголовка sys/socket.h
обнуляется.
Это относится к любому другому виду функций заголовка или библиотеки, которые взаимодействуют с операционной системой, такой как unistd.h
, fcntl.h
, pthread.h
et c. На самом деле, avr-libc
, Стандартная C библиотека для AVR-G CC, не предоставляет такие заголовки.
Вам нужно будет просмотреть документацию avr-libc
чтобы узнать больше о предоставляемых заголовках и функциях и их использовании.