公開的 C API

公開的 C-API 由 py/ 目錄下所有 C 標頭檔中定義的函式組成。大部分重要的核心執行階段 C API 都公開在 runtime.hobj.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 非常底層的細節。標頭檔中的靜態行內(static inline)函式也沒問題;這類函式在使用時會被內聯到程式碼中。

ports 目錄下的標頭檔只會公開給特定移植版本所專屬的功能。