我正在将大项目从8.4转换为8.6。有一个提供TCL包的共享库。包的init proc在8.6中崩溃,它的结构对我来说很奇怪。这是init proc
的内容 Tcl_ResetResult(interp);
Tcl_PkgProvide(interp, "package_name", "1.0");
// Register new Tcl commands
// Then goes other package initialization which linked to this .so statically
otherlib_Init(interp);
Tcl_StaticPackage(interp, "otherlib", otherlib_Init, otherlib_Init);
Tcl_PkgProvide行和其他lib初始化对我来说很奇怪,但我不确定。在这个函数中注释和取消注释行有时会修复问题,但由于失败是随机的,我不确定哪个部分不正确。 对此有何建议?