就开发语言而言,可以使用C++和TCL一起编程,使用C++控制TCL的动作。但感觉最好就是用一种语言来完成,而多种语言完成应该基于快速开发,或复用现有的代码或库而言的。
首先TCL肯定是要用的,因为测试仪的控制,目前只有TCL是现成的,其他语言,还是有点风险的。使用TCL语言,就需要确认TCL的一些特性:多线程,基本数据结构,正则表达式,telnet和serial的支持。但是似乎TCL的多线程支持的不是很好,这一点是否最后做出来的东西又要和测试部原来的工具类似,在执行速度上比较慢。还有就是没有多线程的情况下,如何控制读取同时写和同时读。难道只能先写一次数据,再马上读取结果,这样似乎不是很好。
之前测试部使用的工具是其他工具读写数据,TCL纯粹控制数据。
基于这样的考虑我们也可以让TCl只控制数据,让其他语言来控制读写。如C++或python,但要实现telnet和serial,python相对简单很多。但是TCL和python之间如何通信也是一个问题。是否可以通过临时文件来通信,或者socket来通信。