Можно ли написать код системного уровня в Vala - PullRequest
3 голосов
/ 29 декабря 2011

Можно ли написать исходный код системного уровня в Vala.как для маленькой микро ядра ОС?или для использования в ядре Linux для модулей или драйверов устройств?

Ответы [ 3 ]

5 голосов
/ 30 декабря 2011

Технически, да, но на самом деле это, вероятно, не очень практично.

Люди уже писали модули ядра в Vala, но AFAIK ничего особенного.На самом деле, кто-то написал мультизагрузочное ядро ​​с использованием Vala несколько лет назад.

Вы можете обойти зависимость от GLib, используя профиль posix (pass --profile posix), но это имеет тенденциюбыть немного глючным, и многие функции не поддерживаются, в том числе множество вещей, которые делают программирование на Vala приятным опытом.

3 голосов
/ 29 декабря 2011

Я так не думаю. Vala привязан к системе GObject и Glib gtype (внутри GTK) - включая управление памятью на основе счетчика ссылок .Ядро Linux использует другое (даже концептуально подобное) управление памятью.А внутри вашей микроядерной ОС вы должны предоставить ее.

1 голос
/ 07 февраля 2013

Некоторое обновление к ответам выше: профиль posix был удален из базы кода vala в версии 0.17.4, потому что он не был поддержан. Здесь - объявление.

...