我试图让这个简单的程序在 Windows 上运行,但它崩溃了:
无符号 (__stdcall testfoo)(ClientData x) { 返回0; } 主函数() { Tcl_ThreadId testid = 0; Tcl_CreateThread(&testid, testfoo, (ClientData) NULL, TCL_THREAD_STACK_DEFAULT, TCL_THREAD_NOFLAGS); }
我正在使用由 cmake 生成的 makefile 并链接到我使用 Visual C++ 2008 express 自己编译的 Tcl 8.5.7 版本。它是使用 msvcrt,static,threads 编译的,生成的库的名称是 tcl85tsx.lib。错误是:
main.exe 中 0x77448c39 处的未处理异常:0xC0000005:访问冲突写入位置 0x00000014。
Tcl 库工作正常,我什至可以通过将 Thread 扩展加载到其中来运行线程脚本示例。我的假设是内存违规存在严重错误,但我不知道是什么。任何帮助表示赞赏。