Pull to refresh

Comments 13

at first i was
>swift
but then
>Прослойка на C
ну что это такое? с таким же успехом можно модуль ядра сделать на java
ну это как «операционная система на java»
где есть микроядро на сях или ассемблере, который запускает jvm

Swift компилируется в нативный код, на этом языке можно при желании прямо обращаться к памяти. Ядро можно целиком написать на Swift (на самом деле не без ассемблера, но без него никуда, хотя бы из-за вещей вроде инструкции LGDT), поэтому сравнение с Java на мой взгляд не очень уместно.

swift не может выполнять ассемблерные вставки?

Увы, их там нет. Любопытно посмотреть, были ли предложения в swift-evolution добавить их.

Так прослойка нужна только для корректного исполнения кода на свифте, нет?

Насколько я знаю, к сожалению, нет, так как снова вступает в силу завязанность на макросах.

Однако, теоретически можно писать модули на Swift и Rust без C, если реализовать некоторый неимпортируемый функционал и не забывать его обновлять при изменениях в ядре.

А почему бы не написать всё же сразу на Swift? Нужно будет всего лишь использовать правильный linker script который положит нужные данные в нужные секции. Зато никаких трамплинов на C.
UFO landed and left these words here
Sign up to leave a comment.

Articles