0

1)我想创建一个下面的 tcl 示例代码的 dll 文件,我在这样做时遇到了很多麻烦。我正在使用 linux (ubuntu 10.04) 机器。该文件的名称是clock.tcl。我看过很多网站,但我无法获得确切的流程。

2)我也在努力使用 linux 上的确切命令来创建 tcl 代码的 dll 文件

我是 tcl 的新手,也创建了 dll。谁能帮我解决这个问题。请尽快帮助我。

时钟.tcl

#!/usr/bin/env tclsh8.5

package require Tk

namespace eval ::sd {
set time0 0
set value 0
set h_outfile "i"
}

proc every {ms body} {eval $body; after $ms [info level 0]}


proc time_ms { } {

set m [clock milliseconds]
puts " in time_ms time is $m"
set m  [format %2.2d:%2.2d:%2.2d.%2.2d \
[expr {$m/3600000}] [expr {$m/60000}] [expr {($m/1000)%60}] [expr {$m%1000}]]

incr ::sd::value
set ::sd::time0 $m
puts $::sd::h_outfile " \t $::sd::time0 \t $::sd::value \n"
}

proc open_log { } {
set ::sd::h_outfile [open "output.txt" "w"]
puts " file is $::sd::h_outfile"
puts $::sd::h_outfile " \t hr::mm::ss::ms \t temperature in celcius \n"
}


if {$argc < 1} {

open_log
every 100 {
time_ms
}
}
4

2 回答 2

0

请参阅为 Windows 构建 Tcl DLL

于 2012-09-11T09:40:38.707 回答
0

很少将 Tcl 代码构建到共享库中(正式地说,DLL 只是 Windows 上的共享库格式;其他平台具有概念上的等价物,但名称不同),但可以做到。它的完成方式——嗯,可能是最简单的,但也可能有其他方式——是构建一个StarDLL。这包括一个共享库中的 Tcl/Tk 运行时,以及一个保存 Tcl 代码的小型虚拟文件系统。Pat Thoyts 的页面上有关于构建 StarDLL的进一步说明,但它似乎仍然不是初学者要做的事情。

我质疑这是否是你真正需要的。将您从其他地方调用的程序作为外部进程创建要容易得多,而且打包为StarPack的工具也更加成熟。

于 2012-09-12T19:51:45.833 回答