我使用 Tcl 8.6(windows),无法注册和使用新频道
std::ofstream file("1.txt");
Tcl_Channel kanal = Tcl_CreateChannel(Type, "myChann", file, TCL_WRITABLE);
Tcl_RegisterChannel(interp, kanal);
file.close();
类型是
Tcl_ChannelType* Type = new Tcl_ChannelType();
Type->closeProc = closeProc;
Type->inputProc = inputProc;
Type->outputProc = outputProc;
Type->typeName = "My own chann";
Type->version = TCL_CHANNEL_VERSION_2;
函数很简单,它们只有 std::cout
我用脚本运行解释器
"chan puts myChan whatever"
什么也没发生,解释器没有错误,没有输出(控制台,文件)。我不知道如何咬这个,这是第一个目标,创建新的chanel并使用它,第二个是用我自己的频道替换TCL_STDOUT(它可以是std :: ofstream),这样当我运行解释器时
"puts WhatEver"
该字符串转到 std::ofstream