#[unsafe(no_mangle)]pub unsafe extern "C" fn msime_engine_prepare_runtime(
paths: *const msime_engine_paths,
content_id: *const c_char,
content_id_len: usize,
dictionaries: *mut *mut c_char,
) -> i32Expand description
准备运行时:在 user_data/dictionaries/<content_id> 原子地准备一个代次(从 resources 复制工作词库并回放学习日志),已就绪的代次只补回放。content_id 是 1 到 128 个 [0-9A-Za-z_-],随包数据变了就换一个;带点的版本号要先换掉点(dict-v2_0_39)。三个根目录必须是绝对路径、互不重叠。paths.dictionaries 不读。按全部方案准备:resources 里必须有 msime-pinyin.db 和 msime-english.db;只用其中几个方案时用 msime_engine_prepare_runtime_for,只带那几个方案的数据。成功时把代次目录写进 *dictionaries(可以是 NULL),用 msime_engine_string_free 释放;建会话时它就是 paths.dictionaries。
§Safety
paths 按 struct_size 约定可读;content_id 指向 content_id_len 个可读字节;dictionaries 是 NULL 或可写一个指针。