bootstrap新引用
本函数持有一份引用ImportModule 返回后,先由局部变量接住。01 / 05准备播放
先把地址和所有权分开
PyObject * 不是自动的所有权说明
CPYTHON C API / 引用责任先问:这次调用交给我什么?
取得引用execute_fn / prefix_*新引用 × 3
分别缓存本函数持有的一份GetAttrString 返回的函数对象也要按约定管理。借用访问尚未出现
不先猜它的归还方式地址本身不能告诉你该不该 Py_DECREF。C buffer尚未出现
不属于 PyObject 引用账后面用 malloc/free 另讲。guest/runtime.c · L82–86关键行
PyObject *bootstrap = PyImport_ImportModule("spine_bootstrap");
execute_fn = PyObject_GetAttrString(bootstrap, "execute");
prefix_begin_fn = PyObject_GetAttrString(bootstrap, "prefix_begin");
prefix_feed_fn = PyObject_GetAttrString(bootstrap, "prefix_feed");
先记“本函数持有的一份引用”,不要把地址当成计数器。
旁白
点一下播放即可。也可以只听声音,或拖动进度跳到想看的位置。
0:001:21
正在准备本课音轨与图解。首次播放需要点一下。