Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ANSI C兼容事件循环_C_Multithreading_Gcc_Network Programming_Event Loop - Fatal编程技术网

ANSI C兼容事件循环

ANSI C兼容事件循环,c,multithreading,gcc,network-programming,event-loop,C,Multithreading,Gcc,Network Programming,Event Loop,是否有ANSI-C兼容的事件循环,如libev或libevent?我的要求是使用-ansi标志编译 谢谢。在Linux上不能有任何严格兼容ANSI的事件循环,因为事件循环的目的是巧妙地多路复用多个输入;在Linux上,要实现这种多路复用,您必须调用一些系统调用,如、或friends,所有这些系统调用在ANSI C(或ISO C99或ISO C2011)中都不是标准化的,而只是在Posix中。gcc-ANSI选项相当于在C89中编译。您是否询问是否有一个事件库可以使用C89编译,而不使用任何不属于

是否有ANSI-C兼容的事件循环,如libev或libevent?我的要求是使用-ansi标志编译


谢谢。

在Linux上不能有任何严格兼容ANSI的事件循环,因为事件循环的目的是巧妙地多路复用多个输入;在Linux上,要实现这种多路复用,您必须调用一些系统调用,如、或friends,所有这些系统调用在ANSI C(或ISO C99或ISO C2011)中都不是标准化的,而只是在Posix中。

gcc-ANSI选项相当于在C89中编译。您是否询问是否有一个事件库可以使用C89编译,而不使用任何不属于标准C89库的扩展(如套接字)?如果没有,为什么对C89有限制?你想解决的问题是什么?您已经列出了两个不适合您的备选方案,但您没有说明原因。准确描述这些不适合的原因,以及您正在寻找的功能。如果没有这些信息,人们就无法帮助您。我必须实现一个点对点系统,其中一个要求是它必须与ansi-c兼容-aka。必须使用-ansi标志编译。上述库与ansi不兼容:如果您试图编译,它们会给您一个错误。