Нужно написать API к либе на Rust (ну или C++, суть не меняется). Проблема в том, что в сишке я 0. Посоветуйте хорошие гайдлайны по написанию API.
Интересует:
- именование структур, полей, функций
- кто должен отвечать за выделение/освобождение памяти? Нужны ли свои init/destroy или пусть человек сам мучается?
- какие типы лучше использовать? int vs int32_t.
- как возвращать ошибки?
-
void method(char **error)
-
const char* method()
- int/char/enum?
-
- нужны ли фукнции для инициализации нетривиальных структур?
- и тд.
Нужно чтобы сишники камнями не закидали.