将用 C 打开的文件描述符传递给 tcl 解释器以供使用
我有一个 C 程序,在其中创建了一个 tcl 解释器。然后,我在 C 程序中打开一个文件,并希望将其传递到 tcl 解释器,以便 tcl 解释器可以对其进行 I/O。
我意识到我可以在 tcl 解释器中打开文件,但我在其他地方得到了一个打开的文件描述符,所以不幸的是,这不是一个选项。
有什么想法或技巧吗?还是我错过了 tcl C API 中的某些内容?
I have a C program in which I create a tcl interpreter. I then open a file in the C program and want to pass it onto the tcl interpreter so the tcl interpreter can do I/O on it.
And I realize I could just open the file in the tcl interpreter, but I get an open file descriptor some somewhere else, so that's not an option, unfortunately.
Any ideas or tricks, or did I miss something in the tcl C API?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
阅读有关
Tcl_MakeFileChannel
和Tcl_RegisterChannel
的内容Read there about
Tcl_MakeFileChannel
andTcl_RegisterChannel
如果要使文件描述符有意义,那么在创建 tcl 解释器进程之前就不必打开文件吗?
如果您随后打开,并在 C 程序中说您有文件描述符 9,然后将这个 9 传递给 tcl 解释器进程,那么 9 将没有任何意义。
Wouldn't have have to open the file before you create the tcl interpreter process, if it's going to have the file descriptor have meaning?
If you open after, and say in the C program you have file descriptor 9, and you then pass this 9 to the tcl interpreter process, that 9's not going to mean anything.