我有一个小的C程序调用Lua函数并向它发送一个文件描述符,是否可以从Lua写入这个文件描述符?
答案 0 :(得分:1)
看看C函数fdopen()。 它需要一个文件描述符,并返回一个流/文件*。
如果为fdopen()实现Lua C扩展以返回LuaStream,那么您可以在生成的Lua Stream上使用正常的Lua io调用。
比为你想做的事情实施一次性功能更好。
请参阅Lua 5.2.1来源liolib.c中的io_open,了解创建Lua Stream的示例。
答案 1 :(得分:-1)
我认为在调用lua函数之前将标准输出重定向到套接字fd可能有效,但是更容易返回字符串并用C语言写入。