Size: a a a

Programming Offtop

2020 April 29

AN

Alexander Nozik in Programming Offtop
Anton Korotkikh
неа. и ie мы не поддерживаем
ну edge :)
источник

VP

Vladimir Petrakovich in Programming Offtop
Alexander Nozik
Да фиг с ним, базовый IO совсем разный на разных операционках. А его же не выпилишь
Ну другие же как-то умеют в кросс-компиляцию)
Хоть с каким-нибудь bootstrapclasspath
источник

AN

Alexander Nozik in Programming Offtop
Vladimir Petrakovich
Ну другие же как-то умеют в кросс-компиляцию)
Хоть с каким-нибудь bootstrapclasspath
"другие" компилят чисто либу и предлагают молиться, чтобы при динамической линковке, либы из системы правильно встали (встают не всегда). Грааль же сразу линкует программу с джавовой стдлибой.
источник

VP

Vladimir Petrakovich in Programming Offtop
Alexander Nozik
"другие" компилят чисто либу и предлагают молиться, чтобы при динамической линковке, либы из системы правильно встали (встают не всегда). Грааль же сразу линкует программу с джавовой стдлибой.
А статически другие тулчейны тоже обычно не позволяют кросс-компилить?
источник

VP

Vladimir Petrakovich in Programming Offtop
Вот взять го — он же по-другому и не умеет
источник

AN

Alexander Nozik in Programming Offtop
Vladimir Petrakovich
А статически другие тулчейны тоже обычно не позволяют кросс-компилить?
Вы никаким образом не можете кросс-компилить что-то, что работает с файловыми API на винде в что-то, что работает с файловыми API на линуксе
источник

AN

Alexander Nozik in Programming Offtop
Там АПИ принципиально разные и друг  другом не совместимы. Что-то Posix совместимое еще можно, и то, оно может заработать, а может и нет
источник

VP

Vladimir Petrakovich in Programming Offtop
Alexander Nozik
Вы никаким образом не можете кросс-компилить что-то, что работает с файловыми API на винде в что-то, что работает с файловыми API на линуксе
А что мешает, если у меня рядом лежат заголовки от этих API?
источник

AN

Alexander Nozik in Programming Offtop
Vladimir Petrakovich
А что мешает, если у меня рядом лежат заголовки от этих API?
Они разные же. Просто вызовы разные. Как вы их друг в друга превратите?
источник

AN

Alexander Nozik in Programming Offtop
Это два разных кода
источник

VP

Vladimir Petrakovich in Programming Offtop
Alexander Nozik
Они разные же. Просто вызовы разные. Как вы их друг в друга превратите?
Так мы же просто собираем под другую платформу, генерируя другой код
источник

AN

Alexander Nozik in Programming Offtop
Если у вас есть общий уровень абстракции, вы можете отрезать на этом уровне и динамически линковать с разным бэком. Но тут уже нужна глубокая модуляризация на этапе компилляции. Не думаю, что можно так тонко напилить JDK
источник

AN

Alexander Nozik in Programming Offtop
Vladimir Petrakovich
Так мы же просто собираем под другую платформу, генерируя другой код
Там не только машинный код разный, там системные вызовы разные
источник

AN

Alexander Nozik in Programming Offtop
Вот приведу пример типичный. На виде у вас в основном используются треды, а в линуксе, до сих пор модно вместо них форки процессов использовать. Принципиально разные механизмы, программа сильно разная будет.
источник

AN

Alexander Nozik in Programming Offtop
И даже если треды на линуксе, у них АПИ совсем другой
источник

VP

Vladimir Petrakovich in Programming Offtop
Alexander Nozik
Там не только машинный код разный, там системные вызовы разные
Ну да, спору нет. Но что принципиально мешает собрать этот бинарник на другой платформе?
источник

AN

Alexander Nozik in Programming Offtop
Vladimir Petrakovich
Ну да, спору нет. Но что принципиально мешает собрать этот бинарник на другой платформе?
Ничего. Только надо собирать его целиком.
источник

AN

Alexander Nozik in Programming Offtop
И вам нужно таскать несколько платформных версий JDK
источник

VP

Vladimir Petrakovich in Programming Offtop
Ну да, ожидаемо
источник

VP

Vladimir Petrakovich in Programming Offtop
Так что, сейчас так можно или это не реализовано?
источник