Rust -- кросс-платформенность
От: Grundik2 Земля  
Дата: 08.07.13 00:55
Оценка:
Пока вы обсуждаете аналог С++, я его уже нашел (ой, сейчас снова начнется......). Как сделать кросс-платформенное приложение, написаное на языке, компилируемом в native код? В частности, на Rust. Есть, например:

1) Hello World на нем.

2) Что-нибудь более сложное.
Re: Rust -- кросс-платформенность
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 08.07.13 03:32
Оценка:
Здравствуйте, Grundik2, Вы писали:

G>Как сделать кросс-платформенное приложение, написаное на языке, компилируемом в native код? В частности, на Rust. Есть, например:


Только разные сборки под разные платформы (что, собственно, Rust и позволяет делать, там есть аналогии #ifdef из С++). Если у тебя нет VM, каким-то другим, относительно простым способом оно не заработает, т.к. в одном случае у тебя будет исполнимый файл ELF, в другом Mach-O, а в третьем какой-нить MZ.

G>1) Hello World на нем.


На данный момент в приложение собранное на OSX 10.7 падает на старте на 10.8 и на оборот. Допускаю, что подобная проблема и на других платформах может всплыть, так что пока говорить о Rust как о какой-то альтернативе C++ рано.
Re[2]: Rust -- кросс-платформенность
От: Grundik2 Земля  
Дата: 08.07.13 04:04
Оценка: -1
Здравствуйте, kaa.python, Вы писали:

KP>Здравствуйте, Grundik2, Вы писали:


Так он не только пока не кросс-платформенный, но даже на разных версиях одной платформы не работает? Да, рано.
Re[3]: Rust -- кросс-платформенность
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 08.07.13 04:21
Оценка:
Здравствуйте, Grundik2, Вы писали:

G>Так он не только пока не кросс-платформенный,


Что ты понимаешь под кроссплатформенностью? Собрано один раз — работает везде? Если да, то тебе нужен JVM язык, а не нативный компилятор.

G>но даже на разных версиях одной платформы не работает?


На OSX да, на других платформа не проверял.
Re[4]: Rust -- кросс-платформенность
От: Grundik2 Земля  
Дата: 08.07.13 05:47
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Здравствуйте, Grundik2, Вы писали:


G>>Так он не только пока не кросс-платформенный,


KP>Что ты понимаешь под кроссплатформенностью? Собрано один раз — работает везде?


На windows, Linux и Mac.
Я не про Jvm. Прогу на C, например, можно ведь можно сделать такой, что она будет работать на 3ех указанных платформах.
Re[5]: Rust -- кросс-платформенность
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 08.07.13 06:34
Оценка:
Здравствуйте, Grundik2, Вы писали:

G>На windows, Linux и Mac.

G>Я не про Jvm. Прогу на C, например, можно ведь можно сделать такой, что она будет работать на 3ех указанных платформах.

В принципе, да, можно. Но тебе потребуется собственный загрузчик и программа уже не будет совсем уж "родной" для платформы. Ну и еще возникнет куча проблем с отладкой, крэйш-дампами и прочими сопуствующими делами. Так что, если ты под кроссплатформенностью понимаешь не стандартное "одни исходники могут быть использованны для сборки под разные платформы", а что-то свое, то, боюсь, тебя ждет разочарование.
Re[6]: Rust -- кросс-платформенность
От: Grundik2 Земля  
Дата: 13.07.13 05:06
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Здравствуйте, Grundik2, Вы писали:


G>>На windows, Linux и Mac.

G>>Я не про Jvm. Прогу на C, например, можно ведь можно сделать такой, что она будет работать на 3ех указанных платформах.

KP>В принципе, да, можно. Но тебе потребуется собственный загрузчик и программа уже не будет совсем уж "родной" для платформы. Ну и еще возникнет куча проблем с отладкой, крэйш-дампами и прочими сопуствующими делами. Так что, если ты под кроссплатформенностью понимаешь не стандартное "одни исходники могут быть использованны для сборки под разные платформы", а что-то свое, то, боюсь, тебя ждет разочарование.


теперь понимаю именно "одни исходники могут быть использованны для сборки под разные платформы". не понял, в чем сложность, зачем собственный загрузчик?
Re[7]: Rust -- кросс-платформенность
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 13.07.13 05:15
Оценка:
Здравствуйте, Grundik2, Вы писали:

G>теперь понимаю именно "одни исходники могут быть использованны для сборки под разные платформы". не понял, в чем сложность, зачем собственный загрузчик?


Одни исходники — сложностей нет. Один бинарник — сложностей вагон.
Re[2]: Rust -- кросс-платформенность
От: Mr.Cat  
Дата: 13.07.13 15:11
Оценка:
Здравствуйте, kaa.python, Вы писали:
KP>На данный момент в приложение собранное на OSX 10.7 падает на старте на 10.8 и на оборот.
Возможно, это просто из-за криво собранного llvm. Там какие-то особые ключи для совместимости были нужны. Хз, впрочем.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.