公開 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 ディレクトリ内のヘッダーファイルは、特定のポートに固有の機能に対してのみ公開されます。