这是一个奇怪的问题,我搜索但找不到任何满意的答案.
我有一个编译tcl文件即.tbc文件.那么有没有办法将此.tbc文件转换回.tcl文件.
我在这里读到有人提到::tcl_traceCompile并说过这可以用来反汇编.tbc文件.但作为新手tcl用户,我不确定这是否可行,或者说更多,如何使用它.
虽然我知道tcl编译器不会编译所有语句,因此可以在.tbc文件中轻松查看这些语句,但我们可以tcl从.tbc文件中获取整个语句.
任何评论都会很棒.
不,或者至少没有大量的工作; 你正在做一些相当多的努力来防止(TBC格式旨在保护商业代码不被窥探).
TBC文件格式是Tcl字节码的编码,通常不保存; TBC代表T cl B yte C ode.TBC格式数据仅由一个工具生成,商业"Tcl编译器"(最初由Sun或Scriptics编写;该工具可以追溯到转换时),这实际上是内置编译器的利用.每个Tcl系统都有一些序列化代码.它还尽可能多地删除原始源代码.使用的编码令人不快; 如果可以的话,你想避免编写自己的加载器,而是使用tbcload扩展来完成工作.
然后,您需要将它与Tcl的自定义构建一起使用,以禁用一些防御性检查,以便您可以使用tcl::unsupported::disassemble命令(通常拒绝拆分来自的任何东西)来反汇编加载的代码tbcload; 该命令存在于Tcl 8.5以后.在那之后,你将不得不从字节码拼凑代码所做的事情; 我根本不知道有任何工具可以做到这一点,但是字节码大多都是相当高的水平,因此对于小块代码来说并不是太难.
没有手册页disassemble; 毕竟它正式得不到支持!但是,我链接到的那个wiki页面应该涵盖了你需要开始的大部分内容.
| 归档时间: |
|
| 查看次数: |
6228 次 |
| 最近记录: |