Tcl_LinkVar
可以直接将C变量链接到Tcl变量。当C中的变量发生变化时,Tcl变量会相应地发生变化。这很方便。
示例:
Tcl_LinkVar(interp, "player_x", (char *) &player.world_x, TCL_LINK_DOUBLE);
我想知道Guile是否支持类似的功能?或者当变量发生变化时,我必须每次都将值传递给方案中的变量。
答案 0 :(得分:0)
难道你不能通过ffi获得c变量的指针吗?类似于你如何处理函数。
也许ffi不支持,但我知道你可以使用像libtool的dlsym函数(用于获取函数指针)之类的名称来访问变量指针。我认为guile的ffi正在使用类似的东西。