小编moo*_*cat的帖子

你可以从C的任何地方收获和恢复Luajit协同程序吗?

我试图想出一个解决方案,从C函数中产生一个Luajit协程,它立即创建一个要在另一个OS线程上处理的tasklet.

根据Lua的各种文件,事情开始相互矛盾,这是不是完全有可能?文件不是很清楚,也没有解释推理.

Lua 5.1声明每个协程都有一个堆栈.但是,只有一个全局C堆栈.我不完全确定为什么这是一个障碍.

Lua 5.2显然用lua_pcallk和lua_yieldk修复了这个问题.但这些解释非常令人困惑.

但是这些都没有说明我正在使用的VM ......这是LuaJIT 2.0.4和LuaJIT 2.1.0.

谷歌搜索告诉我,Luajit 1.x已经实现了CoCo,显然每个lua线程(协同程序)都使用了真正的C堆栈.这允许从任何地方屈服.

只有一个搜索引导我看到显然LuaJIT 2.x没有实现coco,因为每个协程都使用C堆栈.

谁能告诉我从C产生协同程序的问题是什么?并验证我是否可以安全地从c产生/恢复luajit 2.x协同程序?

c lua multithreading coroutine luajit

5
推荐指数
1
解决办法
811
查看次数

CMDer 下的 Vim:如何启用鼠标支持?

出于某种原因,我无法在 CMDer 下获得鼠标支持。

它在常规 CMD 下正常工作。我可以整天点击我想要的所有内容。但是我使用 CMDer 作为我的开发环境。它具有供我安装 CLang 使用的临时设置。

我进入设置并启用了“将鼠标事件发送到控制台”,但这似乎没有做任何事情。我什至确保尝试

:set mouse=a

当我使用常规的 Windows 命令提示符时,默认情况下它是打开的。

vim cmder

4
推荐指数
1
解决办法
2205
查看次数

标签 统计

c ×1

cmder ×1

coroutine ×1

lua ×1

luajit ×1

multithreading ×1

vim ×1