공개 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의 매우 저수준 세부 사항에 접근하는 데 사용할 수 있습니다. 헤더 파일의 static inline 함수도 괜찮습니다. 이러한 함수는 사용될 때 코드에 인라인됩니다.
ports 디렉터리의 헤더 파일은 특정 포트에 한정된 기능에만 노출됩니다.