支持Win7、Win8、Win10的x86和x64版本
ENABLE_BOOST_COROUTINE
libgo在Linux系统上默认使用ucontext做协程上下文切换,开启此选项将使用boost.coroutine来替代ucontext.
使用方式:
$ cmake .. -DENABLE_BOOST_COROUTINE=1
ENABLE_SHARED_STACK
使用ucontext做协程上下文切换时可以开启此选项,开启后多个协程将共享使用同一个栈,
这个选项可以大概节约4倍的内存.
但是会有一定的副作用,参见下面的WARNNING第四条.
在使用ENABLE_BOOST_COROUTINE选项时, 此选项不可开启
使用方式:
$ cmake .. -DENABLE_SHARED_STACK=1
DISABLE_HOOK
禁止hook syscall,开启此选项后,网络io相关的syscall将恢复系统默认的行为,
协程中使用阻塞式网络io将可能真正阻塞线程,如无特殊需求请勿开启此选项.
使用方式:
$ cmake .. -DDISABLE_HOOK=1
libgo的源码、单元测试代码、性能测试代码全部使用CMake来构建
使用travis做持续集成、自动测试,保障代码可用性