Critcl 扩展在 Windows 环境中会发生编译错误,在不修改 critcl 源代码的情况下找到解决方法如下:
 
1.  下载安装 msys_mingw 并设置好 gcc 的 PATH 环境变量。
 
2.  将下面的代码保存为文件 demo.tcl
------------------------------------------------------------------------------------
package require Tk
package require critcl
package require fileutil
 
# 下面这行是关键,当然你也可以自定义本地代码的输出路径。
set ::env(HOME) [::fileutil::tempdir]
 
::critcl::cproc triple {int i} int {
    char str[] = "World!";
 
    printf("Hello %s", str);

    return i * 3;
}
 
label .l -text "123 * 3 = [triple 123]"
pack .l -padx 10 -pady10
-----------------------------------------------------------------------------------
 
3.  运行 demo.tcl
 
P.S. 第一次运行时会对 C 源代码进行编译,以后运行时将直接调用已编译的本地代码。critcl 扩展的优点是不用自己再手工费时费力地编写扩展,允许直接把 C 源代码混合到 Tcl/Tk 程序中。