公共 C API¶
公共 C-API 由 py/ 目录下所有 C 头文件中定义的函数组成。大多数重要的核心运行时 C API 都在 runtime.h 和 obj.h 中暴露。
以下是来自 obj.h 的公共 API 函数示例:
mp_obj_t mp_obj_new_list(size_t n, mp_obj_t *items);
mp_obj_t mp_obj_list_append(mp_obj_t self_in, mp_obj_t arg);
mp_obj_t mp_obj_list_remove(mp_obj_t self_in, mp_obj_t value);
void mp_obj_list_get(mp_obj_t self_in, size_t *len, mp_obj_t **items);
本质上,头文件中的任何函数和宏都构成了公共 API,并可用于访问 MicroPython 非常底层的细节。头文件中的静态内联函数也可以使用;这类函数在使用时会被内联到代码中。
ports 目录中的头文件仅暴露给特定移植版本所专有的功能。