我有大量已移植到NaCl的现有BSD套接字代码。我可以构建、链接和运行此代码,但是一旦到达套接字代码,NaCl模块就会崩溃。
我现在使用的是nacl_io,但是当我尝试调用TCP connect函数时,我得到了一个errno 38错误,这意味着
#define ENOSYS 38 /* Function not implemented */ 为什么调用connect函数会失败,但我可以通过gethostbyname()成功解析主机
注意,我使用的是nacl_io演示中的示例代码。演示中的代码运行良好,但是当复制到我自己的项目中时,我在调用connect()时得到错误。
发布于 2014-03-19 06:15:31
只要您先调用nacl_io_init_ppapi函数,connect()就不会返回ENOSYS。
我最初在make文件中的pthread后面列出了nacl_io。将nacl_io移到链接器列表的前面修复了此问题。
nacl_io还定义了一些在libpthread中定义的函数。如果libpthread列在nacl_io之前,则使用libpthread中的函数,如果它列在nacl_io之后,则使用nacl_io中的函数。
https://stackoverflow.com/questions/22492182
复制相似问题