Size: a a a

2019 December 08

JC

Julian =) Coffee in archlinux_ru
Так что ты все равно все с нуля почти что делаешь, но тебе не нужно делать транслятор в ассемблер x86, arm и так далее
источник

VK

Vladislav K. in archlinux_ru
интересно а для ассмблера есть компилятор на базе ллвм
источник

JC

Julian =) Coffee in archlinux_ru
:D
источник

АН

Артемий НаиковскИй in archlinux_ru
Julian =) Coffee
Типо ассемблер это человекочитаемый бинарный код, а потом LLVM превращает его уже в нечеловекочитаемый байт-код.
А потом получившийся байткод компилирует бинарь под любую платформу.
Оу, тоесть его цель - кроссплатформенность? Я слышал что есть типы двоичной  совместимости, например POSIX, и на разных платформах они отличаются. Тоесть типо я гссом смогу собрать только бинарник под линь, а ллвмом и под Винду и под Андроид?
источник

𝙼

𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝙷𝚊𝚝 in archlinux_ru
А вот @alex_medvednikov, нехороший человек, не стал llvm юзать
источник

JC

Julian =) Coffee in archlinux_ru
Артемий НаиковскИй
Оу, тоесть его цель - кроссплатформенность? Я слышал что есть типы двоичной  совместимости, например POSIX, и на разных платформах они отличаются. Тоесть типо я гссом смогу собрать только бинарник под линь, а ллвмом и под Винду и под Андроид?
POSIX это про другое
источник

VK

Vladislav K. in archlinux_ru
у него наверное есть другой взляд
источник

JC

Julian =) Coffee in archlinux_ru
Это уже Операционная система
источник

JC

Julian =) Coffee in archlinux_ru
Ее тебе поддерживать самому
источник

АН

Артемий НаиковскИй in archlinux_ru
Julian =) Coffee
Это уже Операционная система
Ну это классификация и перечень стандартов
источник

JC

Julian =) Coffee in archlinux_ru
llvm за тебя компилирует для разных процессоров
источник

JC

Julian =) Coffee in archlinux_ru
Артемий НаиковскИй
Ну это классификация и перечень стандартов
Ну да, но это уровень Операционной системы
источник

АН

Артемий НаиковскИй in archlinux_ru
Julian =) Coffee
llvm за тебя компилирует для разных процессоров
Так
источник

JC

Julian =) Coffee in archlinux_ru
А бинарная несовметимость из-за системных вызовов, которые у каждой системы свои.
А системные вызовы это штуки аля работа с файлами и даже просто запрос памяти.
источник

𝙼

𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝙷𝚊𝚝 in archlinux_ru
Есть:
Архитектуры процессоров
Форматы бинарей (ELF, MZ/PE, etc)
API системы

За первое два отвечает компилятор (llvm), третье требует поддержки в коде
источник

АН

Артемий НаиковскИй in archlinux_ru
Просто я вот это увидел и странно стало почему фряху и солярис под одну гребенку с линуксом берут
источник

JC

Julian =) Coffee in archlinux_ru
Но кст чаще всего API системы реализуется через биндинги твоего языка к прогам на C
источник

𝙼

𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝙷𝚊𝚝 in archlinux_ru
Артемий НаиковскИй
Просто я вот это увидел и странно стало почему фряху и солярис под одну гребенку с линуксом берут
У фряхи бинарная совместиомсть с линуксом
источник

АН

Артемий НаиковскИй in archlinux_ru
𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝙷𝚊𝚝
У фряхи бинарная совместиомсть с линуксом
Вот
источник

JC

Julian =) Coffee in archlinux_ru
Разве что Гоферы решили реализовать libc сами
источник