公共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
目录中的头文件只能访问特定port
的功能。