当前位置: 首页 > 面试题库 >

FD_SETSIZE的上限增加,然后选择

卢子民
2023-03-14
问题内容

我想为我的系统增加FD_SETSIZE宏值。有什么方法可以增加FD_SETSIZE,因此选择不会失败


问题答案:

按照标准,没有办法增加FD_SETSIZE。一些程序和库(会想到libevent)尝试通过为fd_set对象分配额外的空间并传递比宏更大的值FD_SETSIZE来解决此问题FD_*,但这是一个非常糟糕的主意,因为健壮的实现可能会对参数和如果超出范围,则中止。

我有一个始终可以正常工作的替代解决方案(即使标准没有要求)。fd_set分配一个足够大的数组以容纳您所需的最大fd,而不是单个对象,然后使用FD_SET(fd%FD_SETSIZE, &fds_array[fd/FD_SETSIZE])etc.访问该集合。



 类似资料:
  • 我试图做的是,当按下主菜单上的按钮时,将设置菜单拉上(设置菜单作为独立于主菜单的活动实现)。为了简单起见,假设我的主菜单是空的,只有一个按钮打开设置菜单。在设置菜单中,有一个复选框和一个返回到主活动的“完成”按钮。 如何保存复选框并加载它(代码应该是什么,应该放在哪里,为什么等等)?我试着用谷歌搜索它,并试图复制结果,但我似乎无法得到它。到目前为止发生了两件事:没有保存任何内容,或者我的程序崩溃。

  • 我从angular发送API请求,它有CORS问题,所以我用下面的代码(laravel)在服务器上修复了它。 但是,现在我改变了我的角度请求,它现在通过拦截器,现在CORS问题又回来了。 API调用示例

  • 本文向大家介绍Windows上使用Python增加或删除权限的方法,包括了Windows上使用Python增加或删除权限的方法的使用技巧和注意事项,需要的朋友参考一下 在使用Python在 Windows 平台上开发的时候, 有时候我们需要动态增加或删除用户的某些权限, 此时我们可以通过 AdjustTokenPrivileges API 来实现。 比如,我们要给用户分配 SE_TCB_NAME

  • 问题内容: 我在Mountain Lion上使用IDEA 12 Leda。我想增加IDE可以使用的最大内存。我将Info.plist文件中的VMOptions设置为 当我打开IDEA时,我仍然看到最大内存为711m。 显示我的VMOptions已加载,但已被以下选项取代。 哪里来的?我需要删除它。 问题答案: 从IDEA 15.0.4开始,你可以使用Help|。 这将在config文件夹中自动创建

  • 我在山狮上用了12号点子Leda。我想增加IDE可以使用的最大内存。我将info.plist文件中的VMOptions设置为 当我打开IDEA时,我仍然看到最大内存是711M。 显示我的VMOptions已加载,但被以下选项替换。 从何而来?我需要移除它。

  • 问题内容: 我不明白为什么这个职位增加方程不增加。我以为在+=操作之后,该值将增加1,然后围绕i的第二次将具有1值。但是输出是一个零零的无限循环。有谁能解释为什么“ i”不增加。 问题答案: @ njzk2的答案是正确的,但指出正确的 原因 很有用。 还有其他可能性-例如,为什么Java在分配后不执行postincrement运算符?(答案:因为那不是Java语言设计者选择的) Java语言规范第