Pull to refresh

Comments 2

реализация libc

С этим примерно понятно. А что имеется ввиду под

стандартная библиотека Rust — чтобы собирать и запускать приложения, написанные на чистом Rust;

Неужели планируется динамическое связывание программ на Rust со стандартной библиотекой Rust (кажется, видел такое в Redox OS)? Внешние крейты при сборке не выносятся в shared objects, а просто добавляются к бинарю? Просто приложения на "чистом Rust" в большинстве своём после сборки представляют собой большой почти статический бинарь, имеющий в зависимостях разве что libc и ещё пару системных библиотек.

Ещё вопрос не по теме. Читал предыдущие части, слог довольно приятный. Вы пишете текст/наброски статьи по ходу работы или апостериори?

Здравствуйте! Спасибо за приятный отзыв.

Сейчас userspace-приложения собираются под aarch64-unknown-none, поэтому приходится вешать атрибуты no_std и no_main, а возможности использовать крейт std нет. А вот со своими биндингами к стандартной библиотеке уже можно будет собирать какие-то программки с crates.io. Динамического связывания, как в Redox, пока не планируется — буду делать статическую линковку, так что да, на выходе будет тот же большой статический бинарь. Хотя идея интересная, подумаю над этим тоже.

Статью начинаю писать в самом конце, когда уже сделан какой-то инкремент функционала и есть понимание, как его подать. Во время написания делаю только демо-сценарии и попутные доработки - если оказывается, что публичный API даже для демо где-то недостаточно юзабелен.

Sign up to leave a comment.

Articles