创建TCL C通道时使用Tcl_SetChannelOption函数

Using Tcl_SetChannelOption function when creating TCL C channel

我想实现我的 Tcl_Channel,它将在 Tcl 和 C 之间进行通信。 我看到在使用 Tcl_CreateChannel(...) 创建频道后使用了

Tcl_SetChannelOption(Tcl_Interp *interp, Tcl_Channel chan, cons char *optionName, const char *newValue);  

TCL-C API 函数,此外,我看到几乎总是传递给此函数的内容如下:

我试图搜索并理解为什么将此参数传递给此函数,更重要的是,此标志和值的含义是什么,但找不到任何内容。
我需要解释为什么要使用这个功能以及如何使用它?

长话短说:

  • -translation 是关于如何处理行结束字符(因为它们在 Windows、Linux 和 MacOS 上可能有所不同)。
  • -buffering 是关于将数据放入通道的频率(因为太频繁地这样做可能成本很高,或者引入任何延迟可能会适得其反)。

所有这些选项都会影响在频道上进一步 reads/writes 执行的操作。 所以,不是谷歌搜索 Tcl_SetChannelOption,你必须检查 man 选项本身(因为这两个不是唯一适用的选项)。例如: https://www.tcl.tk/man/tcl8.4/TclCmd/fconfigure.htm