Я искал dart:ffi
, но я разочарован, что мы должны написать все привязки для него вручную. Изучив проблемы, я обнаружил, что они пытаются с помощью libclang сгенерировать автоматические привязки c из заголовочных файлов.
Все, что я смог понять, это следующее:
1) Они хотят создать пакет, состоящий из компоновщика, который вызывает libclang для генерации AST, который затем используется для создания последующих типов данных в Dart для типов в C.
2) Затем сгенерированные типы данных будут использоваться для создания привязок.
3) Затем они подключат компоновщик с пакетом: build_runner.
Вот мои сомнения:
1) Как они могут вызывать libclang из компоновщика?
2) Как они могут использовать libclang для создания сопоставлений типов данных в C с типами данных в dart?
3) Как сборщик будет использовать сопоставления для генерации привязок?
4) Зачем им нужно подключать сборщик к build_runner?
5) Будет ли в этом пакете какой-либо другой член, если не тогда почему это пакет а каге не просто инструмент?