Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试使用用 C++ 编写的包(共享库)运行 tclsh。包需要一种类似于 Windows PumpMessage 的机制,一旦通过包 req 加载,它就会在主线程上定期调用。
有了希望,我可以简单地通过注册一个计时器处理程序Tcl_CreateTimerHandler,它工作正常。
Tcl_CreateTimerHandler
使用 tclsh,事件循环不存在,所以我无法从我的包中连接。我尝试设置主循环(Tcl_SetMainLoop),但它被调用一次,之后它被设置为 NULL。
Tcl_SetMainLoop
关于如何实现这一目标的任何想法?
查看tk代码后得到它。主循环需要自己做循环(它没有像我预期的那样在循环中调用)。
如果设置到 tcl 中的主循环执行了一个 while 循环,那么它工作正常。