Я разработчик C #, который наткнулся на новый язык программирования для Linux под названием vala. Он имеет почти такой же синтаксис, что и C #, и это здорово. Я никогда не был большим поклонником Mono. Это позволяет программистам писать приложения GTK + на языке стиля C #. Мой вопрос: компилируется ли vala в C?
Vala (язык, подобный C #) компилируется в C?
Ответы (3)
Да, Vala компилируется непосредственно в C. На главной странице Vala:
valac создает исходные файлы C и файлы заголовков из исходных файлов Vala, как если бы вы написали свою библиотеку или приложение непосредственно на C. Использование библиотеки Vala из приложения C не будет отличаться от использования любого другого GObject -на основе библиотеки. Не будет библиотеки времени выполнения vala, и приложения могут распространять сгенерированный код C вместе со своими тарболами, поэтому для пользователей не существует дополнительных зависимостей во время выполнения или сборки.
Вы можете узнать об этом подробнее здесь (а также получить учебные пособия, списки рассылки и т. Д.). Довольно интересный проект.
Из Википедии:
Вместо того, чтобы компилировать непосредственно на ассемблер или на промежуточный язык, Vala компилируется на C, который затем компилируется стандартным компилятором C.
Как указали Джон и Крис, Vala действительно компилируется в C.
Фактически, вы можете увидеть сгенерированный код C, запустив компилятор Vala с флагом -C
(или --ccode
).