В чем разница между независимой от платформы и кроссплатформенной? - PullRequest
0 голосов
/ 14 июля 2011

Я видел много библиотек C / C ++ и Gui Toolkits.Среди них есть такие, как GTK +, Qt, Swing и т. Д., Которые утверждают, что они независимы от платформы - .В то время как некоторые, такие как WxWidgets, SWT и т. Д., Утверждают, что являются кроссовыми -платформами.Сначала я думал, что это просто изменение в формулировке, но термины использовались с такой последовательностью, что я начал задаваться вопросом.В чем есть разница?

Ответы [ 4 ]

11 голосов
/ 14 июля 2011

Кроссплатформенность подразумевает, что вы поддерживаете только несколько платформ. Обычно это означает Linux, Mac и Windows. Независимость от платформы подразумевает, что вы поддерживаете любую платформу, поддерживаемую вашим языком, т.е. вы зависите от поведения, которое не указано в спецификации языка. Однако это только мое личное мнение, и в большинстве случаев они оба означают «несколько платформ», обычно «Windows и ...».

6 голосов
/ 14 июля 2011

Для чего это стоит, это то, что Википедия должна сказать по этому вопросу:

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

Программное обеспечение, независимое от платформы , не полагается на какие-либо специальные функции какой-либо одной платформы или, если оно имеет, обрабатывает эти специальные функции, так что оно может работать с несколькими платформами

2 голосов
/ 14 июля 2011

"Независимая от платформы", как правило, представляет собой программу, написанную на языке высокого уровня, которая не требует перекомпиляции или настройки для другой платформы и может просто запускаться "как есть" (Java, большинство сценариев Perl и т. Д.) Как Пока конкретная платформа реализует язык исполнения. Это возможно, когда под программой находятся слои, которые работают с разными платформами (виртуальной машиной или интерпретатором).

«Кроссплатформенность» означает, что программа может быть скомпилирована / настроена для нескольких платформ, но не для любой платформы. Подумайте о #ifdef в коде C и C ++.

0 голосов
/ 30 апреля 2019

Кроссплатформенность означает, что ваша программа может работать на разных платформах, например Windows, Linux и Mac.

Независимость от платформы означает, что ваш код Пишите один раз Run Anywhere т.е. вам не нужночтобы изменить код для запуска на разных платформах

Все независимые от платформы программы являются кроссплатформенными, но не соответствуют действительности

...