Попытка использовать Kqueue в Linux Mint Debian

Я пытаюсь использовать kqueue для создания ориентированного на события сервера в c, когда я компилирую свой код, он дает мне эту ошибку

фатальная ошибка: sys/event.h: нет такого файла или каталога

согласно руководству, которому я следую, чтобы создать события kqueue, которые должны быть включены в файл, я новичок в программировании событий на C


person user2948982    schedule 03.11.2013    source источник
comment
Привет, вы должны предоставить больше информации... код, что вы пробовали и т. д.   -  person Eel Lee    schedule 03.11.2013


Ответы (3)


kqueue присутствует только в ядрах BSD (FreeBSD/OpenBSD) и Darwin (Mac OS X/iOS). . Его нет в ядре Linux.

Ближайшими эквивалентами, доступными в Linux, являются epoll для асинхронного ввода-вывода и inotify для наблюдения за файловой системой.

person Community    schedule 03.11.2013
comment
Спасибо, вы случайно не знаете ссылку на хороший учебник по epoll - person user2948982; 03.11.2013
comment
Избегайте прямого использования epoll. Используйте libevent; это не зависит от ОС. - person ; 03.11.2013

kqueue — это функция BSD. вы не можете использовать его в Linux. эквивалентной функцией в Linux является epoll.

person SingleNegationElimination    schedule 03.11.2013
comment
Спасибо, вы случайно не знаете ссылку на хороший учебник по epoll - person user2948982; 03.11.2013

Если вы не хотите попробовать kqueue на любой другой платформе, кроме BSD, тогда https://github.com/mheily/libkqueue библиотека - ваш путь!! попробуйте это.

person auvipy    schedule 03.11.2019