我在 c-lambda 后面有一个 C 函数,它需要通过 select(2) 调用进行一些摸索,并决定返回一个方案符号,以指示它做了什么,以及是否发生了错误情况。文档中没有解释如何将命名符号作为 ___SCMOBJ (或更合适的)从 C 中获取,并且 wiki 似乎已经崩溃。从 gambit.h 中也不能立即看出是否有用于此目的的宏。
这可能开箱即用吗?我目前的解决方法是将可返回的符号作为参数传递给函数,但是我希望能够返回更大的符号集,这很快就会变得非常笨拙。
我在 gambit-c mailing list 上问了这个问题。主要有三个回应:
我暂时选择 (1),因为我想与 Debian Squeeze 的策略兼容,而且我认为性能影响不会很大。