De publieke C-API¶
De publieke C-API bestaat uit functies die zijn gedefinieerd in alle C-headerbestanden in de map py/. De meeste belangrijke C-API’s van de core-runtime worden beschikbaar gesteld in runtime.h en obj.h.
Hieronder volgt een voorbeeld van publieke API-functies uit obj.h:
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);
In de kern vormen alle functies en macro’s in headerbestanden de publieke API en kunnen ze worden gebruikt om toegang te krijgen tot zeer laag-niveaudetails van MicroPython. Statische inline-functies in headerbestanden zijn ook prima; dergelijke functies worden bij gebruik in de code geïnlined.
Headerbestanden in de map ports worden alleen blootgesteld aan de functionaliteit die specifiek is voor een bepaalde port.