Разница между вином и моно

Насколько я знаю, оба Wine и Mono используются для запуска приложений Windows под Ubuntu.

Итак, мне было интересно

, каковы их отличия? Это обе виртуальные машины? Или каждый из них относится к какой-то другой категории? Лучше Когда использовать, для каких приложений Windows? Например, те приложения, которые могут или не требуют .net Framework. Они зависят друг от друга? Должны ли они устанавливаться вместе? Или каждый работает независимо, не имея другого?

Спасибо и приветствую!

23
задан 21 March 2011 в 06:04

18 ответов

Для успешного запуска программы необходимо, чтобы три вещи соответствовали:

Набор инструкций процессора (например, x86 на вашем ПК, ARM на вашем мобильном телефоне, PowerPC на некоторых Apple Mac, байт-код Java для Java-апплетов, CLI для приложений «.Net» / Mono) Формат двоичного файла (например, PE / COFF «.exe» для Microsoft Windows, .jar для Java-апплетов, PE32 «.exe», ELF в Unix / Linux) Интерфейс прикладного программирования; (Например, POSIX для Linux / Unix, Cocoa для Mac OSX, Win32 в Microsoft Windows, библиотека базового класса для приложений .Net / Mono).

Вы можете увеличить вероятность совпадения всех трех с помощью эмуляторов / интерпретаторов (для других наборов инструкций процессора), путем добавления дополнительных загрузчиков файлов (для иностранных файловых форматов) и наличия дополнительных библиотек программирования, предоставляющих больше API .

Обратите также внимание, что некоторые процессоры могут изначально выполнять несколько команд; ПК довольно часто имеет наборы инструкций x86 и amd64; ARM-процессор может выполнять четыре: байт-код / ​​ThumbEE ARM32 / Thumb / Java. Некоторые операционные системы могут предоставлять более одного API изначально (Microsoft Windows предоставляет Win32 и POSIX).

Для всего остального вам нужно дополнительное программное обеспечение. Для запуска Java-программ вам необходимы три перечисленные выше части, чтобы заставить их работать: программа виртуальной машины Java для запуска байт-кода; способ запуска программ Java и Java Classlibrary для программ для вызова. «Java» является фирменным названием для нескольких отдельных технологий, первоначально разработанных Sun, но для пользователя они часто загружаются как один.

То же самое относится к «.Net», который является маркером маркетинга для нескольких различные технологии, первоначально разработанные Microsoft: x86 (CLR) - это API; VES - это загрузчик, а amd64 (CLI) - это набор команд.

Вам не нужно загружать эти технологии от Microsoft, от Sun или от Intel только потому, что они изначально что-то придумал. AMD делает процессоры совместимыми со стандартами Intel; оба Apache («Гармония») и Google («Android Dalvik») делают Java-подобный набор; и Mono предоставляет пакет CLR / CLI / VES. Важно то, что каждый использует те же стандарты, что делает их совместимыми. DVD-диск будет воспроизводиться на любом проигрывателе DVD, который соответствует стандарту, а веб-страница HTML будет отображаться в любом веб-браузере, соответствующем стандартам HTML.

Набор инструкций процессора (например, x86 на вашем ПК, ARM на вашем мобильном телефоне, PowerPC на некоторых Apple Mac, байт-код Java для Java-апплетов, CLI для приложений «.Net» / Mono) Набор инструкций процессора - это реализация API Win32, которая может запускаться на Mac OSX, MS Windows и Linux. Формат двоичного файла (например, PE / COFF «.exe» для Microsoft Windows, .jar для Java-апплетов, PE32 «.exe», ELF в Unix / Linux) Вы можете запустить Двоичный файл Формат поверх Qemu, поверх любой архитектуры процессора.

Итак, VES запускает приложения CLR .exe, а Wine запускает приложения Win32 .exe. Единственное единственное, что имена файлов заканчиваются на «.exe»; содержимое полностью отличается и несовместимо, поэтому вам нужно выполнить run .

Так же, как интерпретатор Python будет ошибочным при представлении Perl (и наоборот), интерпретатор CLR будет ошибка при представлении x86 + Win32 или JVM + Java байт-кода. Если вы можете опубликовать ссылку на конкретную программу, которую вы хотите запустить, я или кто-то другой должен быть в состоянии рассказать вам точный набор команд, формат файла и API, для которых он был разработан, и что вам нужно установить на Linux для запуска. Надеюсь, что это поможет!

(Иногда вам может понадобиться и то, и другое. Например, симулятор поездов Openbve является C # и скомпилирован в PE / COFF + CLI + CLR, но может дополнительно использовать C-бинарные плагины, скомпилированные для PE / COFF + Win32 + x86. В этом случае вам нужна версия Mono под Wine Win2.Если архитектура процессора также отличается от эмуляции, то Mono под Wine под Qemu).

28
ответ дан 25 May 2018 в 22:28

Для успешного запуска программы необходимо, чтобы три вещи соответствовали:

Набор инструкций процессора (например, x86 на вашем ПК, ARM на вашем мобильном телефоне, PowerPC на некоторых Apple Mac, байт-код Java для Java-апплетов, CLI для приложений «.Net» / Mono) Формат двоичного файла (например, PE / COFF «.exe» для Microsoft Windows, .jar для Java-апплетов, PE32 «.exe», ELF в Unix / Linux) Интерфейс прикладного программирования; (Например, POSIX для Linux / Unix, Cocoa для Mac OSX, Win32 в Microsoft Windows, библиотека базового класса для приложений .Net / Mono).

Вы можете увеличить вероятность совпадения всех трех с помощью эмуляторов / интерпретаторов (для других наборов инструкций процессора), путем добавления дополнительных загрузчиков файлов (для иностранных файловых форматов) и наличия дополнительных библиотек программирования, предоставляющих больше API .

Обратите также внимание, что некоторые процессоры могут изначально выполнять несколько команд; ПК довольно часто имеет наборы инструкций x86 и amd64; ARM-процессор может выполнять четыре: байт-код / ​​ThumbEE ARM32 / Thumb / Java. Некоторые операционные системы могут предоставлять более одного API изначально (Microsoft Windows предоставляет Win32 и POSIX).

Для всего остального вам нужно дополнительное программное обеспечение. Для запуска Java-программ вам необходимы три перечисленные выше части, чтобы заставить их работать: программа виртуальной машины Java для запуска байт-кода; способ запуска программ Java и Java Classlibrary для программ для вызова. «Java» является фирменным названием для нескольких отдельных технологий, первоначально разработанных Sun, но для пользователя они часто загружаются как один.

То же самое относится к «.Net», который является маркером маркетинга для нескольких различные технологии, первоначально разработанные Microsoft: x86 (CLR) - это API; VES - это загрузчик, а amd64 (CLI) - это набор команд.

Вам не нужно загружать эти технологии от Microsoft, от Sun или от Intel только потому, что они изначально что-то придумал. AMD делает процессоры совместимыми со стандартами Intel; оба Apache («Гармония») и Google («Android Dalvik») делают Java-подобный набор; и Mono предоставляет пакет CLR / CLI / VES. Важно то, что каждый использует те же стандарты, что делает их совместимыми. DVD-диск будет воспроизводиться на любом проигрывателе DVD, который соответствует стандарту, а веб-страница HTML будет отображаться в любом веб-браузере, соответствующем стандартам HTML.

Набор инструкций процессора (например, x86 на вашем ПК, ARM на вашем мобильном телефоне, PowerPC на некоторых Apple Mac, байт-код Java для Java-апплетов, CLI для приложений «.Net» / Mono) Набор инструкций процессора - это реализация API Win32, которая может запускаться на Mac OSX, MS Windows и Linux. Формат двоичного файла (например, PE / COFF «.exe» для Microsoft Windows, .jar для Java-апплетов, PE32 «.exe», ELF в Unix / Linux) Вы можете запустить Двоичный файл Формат поверх Qemu, поверх любой архитектуры процессора.

Итак, VES запускает приложения CLR .exe, а Wine запускает приложения Win32 .exe. Единственное единственное, что имена файлов заканчиваются на «.exe»; содержимое полностью отличается и несовместимо, поэтому вам нужно выполнить run .

Так же, как интерпретатор Python будет ошибочным при представлении Perl (и наоборот), интерпретатор CLR будет ошибка при представлении x86 + Win32 или JVM + Java байт-кода. Если вы можете опубликовать ссылку на конкретную программу, которую вы хотите запустить, я или кто-то другой должен быть в состоянии рассказать вам точный набор команд, формат файла и API, для которых он был разработан, и что вам нужно установить на Linux для запуска. Надеюсь, что это поможет!

(Иногда вам может понадобиться и то, и другое. Например, симулятор поездов Openbve является C # и скомпилирован в PE / COFF + CLI + CLR, но может дополнительно использовать C-бинарные плагины, скомпилированные для PE / COFF + Win32 + x86. В этом случае вам нужна версия Mono под Wine Win2.Если архитектура процессора также отличается от эмуляции, то Mono под Wine под Qemu).

28
ответ дан 25 July 2018 в 22:19

Для успешного запуска программы необходимо, чтобы три вещи соответствовали:

Набор инструкций процессора (например, x86 на вашем ПК, ARM на вашем мобильном телефоне, PowerPC на некоторых Apple Mac, байт-код Java для Java-апплетов, CLI для приложений «.Net» / Mono) Формат двоичного файла (например, PE / COFF «.exe» для Microsoft Windows, .jar для Java-апплетов, PE32 «.exe», ELF в Unix / Linux) Интерфейс прикладного программирования; (Например, POSIX для Linux / Unix, Cocoa для Mac OSX, Win32 в Microsoft Windows, библиотека базового класса для приложений .Net / Mono).

Вы можете увеличить вероятность совпадения всех трех с помощью эмуляторов / интерпретаторов (для других наборов инструкций процессора), путем добавления дополнительных загрузчиков файлов (для иностранных файловых форматов) и наличия дополнительных библиотек программирования, предоставляющих больше API .

Обратите также внимание, что некоторые процессоры могут изначально выполнять несколько команд; ПК довольно часто имеет наборы инструкций x86 и amd64; ARM-процессор может выполнять четыре: байт-код / ​​ThumbEE ARM32 / Thumb / Java. Некоторые операционные системы могут предоставлять более одного API изначально (Microsoft Windows предоставляет Win32 и POSIX).

Для всего остального вам нужно дополнительное программное обеспечение. Для запуска Java-программ вам необходимы три перечисленные выше части, чтобы заставить их работать: программа виртуальной машины Java для запуска байт-кода; способ запуска программ Java и Java Classlibrary для программ для вызова. «Java» является фирменным названием для нескольких отдельных технологий, первоначально разработанных Sun, но для пользователя они часто загружаются как один.

То же самое относится к «.Net», который является маркером маркетинга для нескольких различные технологии, первоначально разработанные Microsoft: x86 (CLR) - это API; VES - это загрузчик, а amd64 (CLI) - это набор команд.

Вам не нужно загружать эти технологии от Microsoft, от Sun или от Intel только потому, что они изначально что-то придумал. AMD делает процессоры совместимыми со стандартами Intel; оба Apache («Гармония») и Google («Android Dalvik») делают Java-подобный набор; и Mono предоставляет пакет CLR / CLI / VES. Важно то, что каждый использует те же стандарты, что делает их совместимыми. DVD-диск будет воспроизводиться на любом проигрывателе DVD, который соответствует стандарту, а веб-страница HTML будет отображаться в любом веб-браузере, соответствующем стандартам HTML.

Набор инструкций процессора (например, x86 на вашем ПК, ARM на вашем мобильном телефоне, PowerPC на некоторых Apple Mac, байт-код Java для Java-апплетов, CLI для приложений «.Net» / Mono) Набор инструкций процессора - это реализация API Win32, которая может запускаться на Mac OSX, MS Windows и Linux. Формат двоичного файла (например, PE / COFF «.exe» для Microsoft Windows, .jar для Java-апплетов, PE32 «.exe», ELF в Unix / Linux) Вы можете запустить Двоичный файл Формат поверх Qemu, поверх любой архитектуры процессора.

Итак, VES запускает приложения CLR .exe, а Wine запускает приложения Win32 .exe. Единственное единственное, что имена файлов заканчиваются на «.exe»; содержимое полностью отличается и несовместимо, поэтому вам нужно выполнить run .

Так же, как интерпретатор Python будет ошибочным при представлении Perl (и наоборот), интерпретатор CLR будет ошибка при представлении x86 + Win32 или JVM + Java байт-кода. Если вы можете опубликовать ссылку на конкретную программу, которую вы хотите запустить, я или кто-то другой должен быть в состоянии рассказать вам точный набор команд, формат файла и API, для которых он был разработан, и что вам нужно установить на Linux для запуска. Надеюсь, что это поможет!

(Иногда вам может понадобиться и то, и другое. Например, симулятор поездов Openbve является C # и скомпилирован в PE / COFF + CLI + CLR, но может дополнительно использовать C-бинарные плагины, скомпилированные для PE / COFF + Win32 + x86. В этом случае вам нужна версия Mono под Wine Win2.Если архитектура процессора также отличается от эмуляции, то Mono под Wine под Qemu).

28
ответ дан 26 July 2018 в 20:40

Для успешного запуска программы необходимо, чтобы три вещи соответствовали:

Набор инструкций процессора (например, x86 на вашем ПК, ARM на вашем мобильном телефоне, PowerPC на некоторых Apple Mac, байт-код Java для Java-апплетов, CLI для приложений «.Net» / Mono) Формат двоичного файла (например, PE / COFF «.exe» для Microsoft Windows, .jar для Java-апплетов, PE32 «.exe», ELF в Unix / Linux) Интерфейс прикладного программирования; (Например, POSIX для Linux / Unix, Cocoa для Mac OSX, Win32 в Microsoft Windows, библиотека базового класса для приложений .Net / Mono).

Вы можете увеличить вероятность совпадения всех трех с помощью эмуляторов / интерпретаторов (для других наборов инструкций процессора), путем добавления дополнительных загрузчиков файлов (для иностранных файловых форматов) и наличия дополнительных библиотек программирования, предоставляющих больше API .

Обратите также внимание, что некоторые процессоры могут изначально выполнять несколько команд; ПК довольно часто имеет наборы инструкций x86 и amd64; ARM-процессор может выполнять четыре: байт-код / ​​ThumbEE ARM32 / Thumb / Java. Некоторые операционные системы могут предоставлять более одного API изначально (Microsoft Windows предоставляет Win32 и POSIX).

Для всего остального вам нужно дополнительное программное обеспечение. Для запуска Java-программ вам необходимы три перечисленные выше части, чтобы заставить их работать: программа виртуальной машины Java для запуска байт-кода; способ запуска программ Java и Java Classlibrary для программ для вызова. «Java» является фирменным названием для нескольких отдельных технологий, первоначально разработанных Sun, но для пользователя они часто загружаются как один.

То же самое относится к «.Net», который является маркером маркетинга для нескольких различные технологии, первоначально разработанные Microsoft: x86 (CLR) - это API; VES - это загрузчик, а amd64 (CLI) - это набор команд.

Вам не нужно загружать эти технологии от Microsoft, от Sun или от Intel только потому, что они изначально что-то придумал. AMD делает процессоры совместимыми со стандартами Intel; оба Apache («Гармония») и Google («Android Dalvik») делают Java-подобный набор; и Mono предоставляет пакет CLR / CLI / VES. Важно то, что каждый использует те же стандарты, что делает их совместимыми. DVD-диск будет воспроизводиться на любом проигрывателе DVD, который соответствует стандарту, а веб-страница HTML будет отображаться в любом веб-браузере, соответствующем стандартам HTML.

Набор инструкций процессора (например, x86 на вашем ПК, ARM на вашем мобильном телефоне, PowerPC на некоторых Apple Mac, байт-код Java для Java-апплетов, CLI для приложений «.Net» / Mono) Набор инструкций процессора - это реализация API Win32, которая может запускаться на Mac OSX, MS Windows и Linux. Формат двоичного файла (например, PE / COFF «.exe» для Microsoft Windows, .jar для Java-апплетов, PE32 «.exe», ELF в Unix / Linux) Вы можете запустить Двоичный файл Формат поверх Qemu, поверх любой архитектуры процессора.

Итак, VES запускает приложения CLR .exe, а Wine запускает приложения Win32 .exe. Единственное единственное, что имена файлов заканчиваются на «.exe»; содержимое полностью отличается и несовместимо, поэтому вам нужно выполнить run .

Так же, как интерпретатор Python будет ошибочным при представлении Perl (и наоборот), интерпретатор CLR будет ошибка при представлении x86 + Win32 или JVM + Java байт-кода. Если вы можете опубликовать ссылку на конкретную программу, которую вы хотите запустить, я или кто-то другой должен быть в состоянии рассказать вам точный набор команд, формат файла и API, для которых он был разработан, и что вам нужно установить на Linux для запуска. Надеюсь, что это поможет!

(Иногда вам может понадобиться и то, и другое. Например, симулятор поездов Openbve является C # и скомпилирован в PE / COFF + CLI + CLR, но может дополнительно использовать C-бинарные плагины, скомпилированные для PE / COFF + Win32 + x86. В этом случае вам нужна версия Mono под Wine Win2.Если архитектура процессора также отличается от эмуляции, то Mono под Wine под Qemu).

28
ответ дан 2 August 2018 в 03:47

Для успешного запуска программы необходимо, чтобы три вещи соответствовали:

Набор инструкций процессора (например, x86 на вашем ПК, ARM на вашем мобильном телефоне, PowerPC на некоторых Apple Mac, байт-код Java для Java-апплетов, CLI для приложений «.Net» / Mono) Формат двоичного файла (например, PE / COFF «.exe» для Microsoft Windows, .jar для Java-апплетов, PE32 «.exe», ELF в Unix / Linux) Интерфейс прикладного программирования; (Например, POSIX для Linux / Unix, Cocoa для Mac OSX, Win32 в Microsoft Windows, библиотека базового класса для приложений .Net / Mono).

Вы можете увеличить вероятность совпадения всех трех с помощью эмуляторов / интерпретаторов (для других наборов инструкций процессора), путем добавления дополнительных загрузчиков файлов (для иностранных файловых форматов) и наличия дополнительных библиотек программирования, предоставляющих больше API .

Обратите также внимание, что некоторые процессоры могут изначально выполнять несколько команд; ПК довольно часто имеет наборы инструкций x86 и amd64; ARM-процессор может выполнять четыре: байт-код / ​​ThumbEE ARM32 / Thumb / Java. Некоторые операционные системы могут предоставлять более одного API изначально (Microsoft Windows предоставляет Win32 и POSIX).

Для всего остального вам нужно дополнительное программное обеспечение. Для запуска Java-программ вам необходимы три перечисленные выше части, чтобы заставить их работать: программа виртуальной машины Java для запуска байт-кода; способ запуска программ Java и Java Classlibrary для программ для вызова. «Java» является фирменным названием для нескольких отдельных технологий, первоначально разработанных Sun, но для пользователя они часто загружаются как один.

То же самое относится к «.Net», который является маркером маркетинга для нескольких различные технологии, первоначально разработанные Microsoft: x86 (CLR) - это API; VES - это загрузчик, а amd64 (CLI) - это набор команд.

Вам не нужно загружать эти технологии от Microsoft, от Sun или от Intel только потому, что они изначально что-то придумал. AMD делает процессоры совместимыми со стандартами Intel; оба Apache («Гармония») и Google («Android Dalvik») делают Java-подобный набор; и Mono предоставляет пакет CLR / CLI / VES. Важно то, что каждый использует те же стандарты, что делает их совместимыми. DVD-диск будет воспроизводиться на любом проигрывателе DVD, который соответствует стандарту, а веб-страница HTML будет отображаться в любом веб-браузере, соответствующем стандартам HTML.

Набор инструкций процессора (например, x86 на вашем ПК, ARM на вашем мобильном телефоне, PowerPC на некоторых Apple Mac, байт-код Java для Java-апплетов, CLI для приложений «.Net» / Mono) Набор инструкций процессора - это реализация API Win32, которая может запускаться на Mac OSX, MS Windows и Linux. Формат двоичного файла (например, PE / COFF «.exe» для Microsoft Windows, .jar для Java-апплетов, PE32 «.exe», ELF в Unix / Linux) Вы можете запустить Двоичный файл Формат поверх Qemu, поверх любой архитектуры процессора.

Итак, VES запускает приложения CLR .exe, а Wine запускает приложения Win32 .exe. Единственное единственное, что имена файлов заканчиваются на «.exe»; содержимое полностью отличается и несовместимо, поэтому вам нужно выполнить run .

Так же, как интерпретатор Python будет ошибочным при представлении Perl (и наоборот), интерпретатор CLR будет ошибка при представлении x86 + Win32 или JVM + Java байт-кода. Если вы можете опубликовать ссылку на конкретную программу, которую вы хотите запустить, я или кто-то другой должен быть в состоянии рассказать вам точный набор команд, формат файла и API, для которых он был разработан, и что вам нужно установить на Linux для запуска. Надеюсь, что это поможет!

(Иногда вам может понадобиться и то, и другое. Например, симулятор поездов Openbve является C # и скомпилирован в PE / COFF + CLI + CLR, но может дополнительно использовать C-бинарные плагины, скомпилированные для PE / COFF + Win32 + x86. В этом случае вам нужна версия Mono под Wine Win2.Если архитектура процессора также отличается от эмуляции, то Mono под Wine под Qemu).

28
ответ дан 4 August 2018 в 19:51

Для успешного запуска программы необходимо, чтобы три вещи соответствовали:

  • Набор инструкций процессора (например, x86 на вашем ПК, ARM на вашем мобильном телефоне, PowerPC на некоторых Apple Mac, байт-код Java для Java Апплеты, CLI для приложений «.Net» / Mono)
  • Формат двоичного файла (например, PE / COFF «.exe» для Microsoft Windows, .jar для Java-апплетов, PE32 «.exe», ELF on Unix / Linux)
  • Интерфейс прикладного программирования; (Например, POSIX для Linux / Unix, Cocoa для Mac OSX, Win32 в Microsoft Windows, библиотека базового класса для приложений «.Net» / Mono).

Вы можете увеличить вероятность совпадения все три с помощью эмуляторов / интерпретаторов (для других наборов инструкций процессора), с дополнительными загрузчиками файлов (для иностранных файловых форматов) и наличием дополнительных библиотек программирования, предоставляющих больше API.

Обратите также внимание на то, что некоторые процессоры может изначально выполнить более одного набора команд; ПК довольно часто имеет наборы инструкций x86 и amd64; ARM-процессор может выполнять четыре: байт-код / ​​ThumbEE ARM32 / Thumb / Java. Некоторые операционные системы могут предоставлять более одного API изначально (Microsoft Windows предоставляет Win32 и POSIX).

Для всего остального вам нужно дополнительное программное обеспечение. Для запуска Java-программ вам нужны три части, перечисленные выше, чтобы заставить ее работать: программа виртуальной машины Java на запускает байт-код; способ запуска программ Java и Java Classlibrary для программ для вызова. «Java» является фирменным названием для нескольких отдельных технологий, первоначально разработанных Sun, но для пользователя они часто загружаются как один.

То же самое относится к «.Net», который является маркером маркетинга для нескольких различные технологии, первоначально разработанные Microsoft: Common Language Run-time / Base Class Library (CLR) - это API; VES - это загрузчик, а Common Language Interface (CLI) - это набор команд.

Вам не нужно загружать эти технологии от Microsoft, от Sun или от Intel только потому, что они изначально что-то придумали. AMD делает процессоры совместимыми со стандартами Intel; оба Apache («Гармония») и Google («Android Dalvik») делают Java-подобный набор; и Mono предоставляет пакет CLR / CLI / VES. Важно то, что каждый использует те же стандарты, что делает их совместимыми. DVD-диск будет воспроизводиться на любом проигрывателе DVD, который соответствует стандарту, а веб-страница HTML будет отображаться в любом веб-браузере, соответствующем стандартам HTML.

  • Mono - это пакет CLR / CLI / VES, который может (! d6)
  • Wine - это реализация Win32 API, которая может работать на Mac OSX, MS Windows и Linux.
  • Вы можете запустить Mono поверх Wine , поверх любой операционной системы.
  • Вы можете запустить Wine поверх Qemu, поверх любой архитектуры процессора.

Итак, Mono запускает приложения CLR .exe , а Wine запускает приложения Win32 .exe. Единственное единственное, что имена файлов заканчиваются на «.exe»;

Точно так же, как интерпретатор Python будет ошибочным при представлении Perl (и наоборот), интерпретатор CLR будет иметь значение right .

ошибка при представлении x86 + Win32 или JVM + Java байт-кода. Если вы можете опубликовать ссылку на конкретную программу, которую вы хотите запустить, я или кто-то другой должен быть в состоянии рассказать вам точный набор команд, формат файла и API, для которых он был разработан, и что вам нужно установить на Linux для запуска. Надеюсь, что это поможет!

(Иногда вам может понадобиться и то, и другое. Например, симулятор поезда Openbve является C # и скомпилирован в PE / COFF + CLI + CLR, но может факультативно использовать скомпилированные бинарные плагины C для PE / COFF + Win32 + x86. В этом случае вам нужна версия Mono под Wine. Если архитектура процессора также отличается от эмуляции, то Mono под Wine под Qemu.

28
ответ дан 6 August 2018 в 03:54

Для успешного запуска программы необходимо, чтобы три вещи соответствовали:

  • Набор инструкций процессора (например, x86 на вашем ПК, ARM на вашем мобильном телефоне, PowerPC на некоторых Apple Mac, байт-код Java для Java Апплеты, CLI для приложений «.Net» / Mono)
  • Формат двоичного файла (например, PE / COFF «.exe» для Microsoft Windows, .jar для Java-апплетов, PE32 «.exe», ELF on Unix / Linux)
  • Интерфейс прикладного программирования; (Например, POSIX для Linux / Unix, Cocoa для Mac OSX, Win32 в Microsoft Windows, библиотека базового класса для приложений «.Net» / Mono).

Вы можете увеличить вероятность совпадения все три с помощью эмуляторов / интерпретаторов (для других наборов инструкций процессора), с дополнительными загрузчиками файлов (для иностранных файловых форматов) и наличием дополнительных библиотек программирования, предоставляющих больше API.

Обратите также внимание на то, что некоторые процессоры может изначально выполнить более одного набора команд; ПК довольно часто имеет наборы инструкций x86 и amd64; ARM-процессор может выполнять четыре: байт-код / ​​ThumbEE ARM32 / Thumb / Java. Некоторые операционные системы могут предоставлять более одного API изначально (Microsoft Windows предоставляет Win32 и POSIX).

Для всего остального вам нужно дополнительное программное обеспечение. Для запуска Java-программ вам нужны три части, перечисленные выше, чтобы заставить ее работать: программа виртуальной машины Java на запускает байт-код; способ запуска программ Java и Java Classlibrary для программ для вызова. «Java» является фирменным названием для нескольких отдельных технологий, первоначально разработанных Sun, но для пользователя они часто загружаются как один.

То же самое относится к «.Net», который является маркером маркетинга для нескольких различные технологии, первоначально разработанные Microsoft: Common Language Run-time / Base Class Library (CLR) - это API; VES - это загрузчик, а Common Language Interface (CLI) - это набор команд.

Вам не нужно загружать эти технологии от Microsoft, от Sun или от Intel только потому, что они изначально что-то придумали. AMD делает процессоры совместимыми со стандартами Intel; оба Apache («Гармония») и Google («Android Dalvik») делают Java-подобный набор; и Mono предоставляет пакет CLR / CLI / VES. Важно то, что каждый использует те же стандарты, что делает их совместимыми. DVD-диск будет воспроизводиться на любом проигрывателе DVD, который соответствует стандарту, а веб-страница HTML будет отображаться в любом веб-браузере, соответствующем стандартам HTML.

  • Mono - это пакет CLR / CLI / VES, который может (! d6)
  • Wine - это реализация Win32 API, которая может работать на Mac OSX, MS Windows и Linux.
  • Вы можете запустить Mono поверх Wine , поверх любой операционной системы.
  • Вы можете запустить Wine поверх Qemu, поверх любой архитектуры процессора.

Итак, Mono запускает приложения CLR .exe , а Wine запускает приложения Win32 .exe. Единственное единственное, что имена файлов заканчиваются на «.exe»;

Точно так же, как интерпретатор Python будет ошибочным при представлении Perl (и наоборот), интерпретатор CLR будет иметь значение right .

ошибка при представлении x86 + Win32 или JVM + Java байт-кода. Если вы можете опубликовать ссылку на конкретную программу, которую вы хотите запустить, я или кто-то другой должен быть в состоянии рассказать вам точный набор команд, формат файла и API, для которых он был разработан, и что вам нужно установить на Linux для запуска. Надеюсь, что это поможет!

(Иногда вам может понадобиться и то, и другое. Например, симулятор поезда Openbve является C # и скомпилирован в PE / COFF + CLI + CLR, но может факультативно использовать скомпилированные бинарные плагины C для PE / COFF + Win32 + x86. В этом случае вам нужна версия Mono под Wine. Если архитектура процессора также отличается от эмуляции, то Mono под Wine под Qemu.

28
ответ дан 7 August 2018 в 21:51

Для успешного запуска программы необходимо, чтобы три вещи соответствовали:

  • Набор инструкций процессора (например, x86 на вашем ПК, ARM на вашем мобильном телефоне, PowerPC на некоторых Apple Mac, байт-код Java для Java Апплеты, CLI для приложений «.Net» / Mono)
  • Формат двоичного файла (например, PE / COFF «.exe» для Microsoft Windows, .jar для Java-апплетов, PE32 «.exe», ELF on Unix / Linux)
  • Интерфейс прикладного программирования; (Например, POSIX для Linux / Unix, Cocoa для Mac OSX, Win32 в Microsoft Windows, библиотека базового класса для приложений «.Net» / Mono).

Вы можете увеличить вероятность совпадения все три с помощью эмуляторов / интерпретаторов (для других наборов инструкций процессора), с дополнительными загрузчиками файлов (для иностранных файловых форматов) и наличием дополнительных библиотек программирования, предоставляющих больше API.

Обратите также внимание на то, что некоторые процессоры может изначально выполнить более одного набора команд; ПК довольно часто имеет наборы инструкций x86 и amd64; ARM-процессор может выполнять четыре: байт-код / ​​ThumbEE ARM32 / Thumb / Java. Некоторые операционные системы могут предоставлять более одного API изначально (Microsoft Windows предоставляет Win32 и POSIX).

Для всего остального вам нужно дополнительное программное обеспечение. Для запуска Java-программ вам нужны три части, перечисленные выше, чтобы заставить ее работать: программа виртуальной машины Java на запускает байт-код; способ запуска программ Java и Java Classlibrary для программ для вызова. «Java» является фирменным названием для нескольких отдельных технологий, первоначально разработанных Sun, но для пользователя они часто загружаются как один.

То же самое относится к «.Net», который является маркером маркетинга для нескольких различные технологии, первоначально разработанные Microsoft: Common Language Run-time / Base Class Library (CLR) - это API; VES - это загрузчик, а Common Language Interface (CLI) - это набор команд.

Вам не нужно загружать эти технологии от Microsoft, от Sun или от Intel только потому, что они изначально что-то придумали. AMD делает процессоры совместимыми со стандартами Intel; оба Apache («Гармония») и Google («Android Dalvik») делают Java-подобный набор; и Mono предоставляет пакет CLR / CLI / VES. Важно то, что каждый использует те же стандарты, что делает их совместимыми. DVD-диск будет воспроизводиться на любом проигрывателе DVD, который соответствует стандарту, а веб-страница HTML будет отображаться в любом веб-браузере, соответствующем стандартам HTML.

  • Mono - это пакет CLR / CLI / VES, который может (! d6)
  • Wine - это реализация Win32 API, которая может работать на Mac OSX, MS Windows и Linux.
  • Вы можете запустить Mono поверх Wine , поверх любой операционной системы.
  • Вы можете запустить Wine поверх Qemu, поверх любой архитектуры процессора.

Итак, Mono запускает приложения CLR .exe , а Wine запускает приложения Win32 .exe. Единственное единственное, что имена файлов заканчиваются на «.exe»;

Точно так же, как интерпретатор Python будет ошибочным при представлении Perl (и наоборот), интерпретатор CLR будет иметь значение right .

ошибка при представлении x86 + Win32 или JVM + Java байт-кода. Если вы можете опубликовать ссылку на конкретную программу, которую вы хотите запустить, я или кто-то другой должен быть в состоянии рассказать вам точный набор команд, формат файла и API, для которых он был разработан, и что вам нужно установить на Linux для запуска. Надеюсь, что это поможет!

(Иногда вам может понадобиться и то, и другое. Например, симулятор поезда Openbve является C # и скомпилирован в PE / COFF + CLI + CLR, но может факультативно использовать скомпилированные бинарные плагины C для PE / COFF + Win32 + x86. В этом случае вам нужна версия Mono под Wine. Если архитектура процессора также отличается от эмуляции, то Mono под Wine под Qemu.

28
ответ дан 10 August 2018 в 10:06

Для успешного запуска программы необходимо, чтобы три вещи соответствовали:

  • Набор инструкций процессора (например, x86 на вашем ПК, ARM на вашем мобильном телефоне, PowerPC на некоторых Apple Mac, байт-код Java для Java Апплеты, CLI для приложений «.Net» / Mono)
  • Формат двоичного файла (например, PE / COFF «.exe» для Microsoft Windows, .jar для Java-апплетов, PE32 «.exe», ELF on Unix / Linux)
  • Интерфейс прикладного программирования; (Например, POSIX для Linux / Unix, Cocoa для Mac OSX, Win32 в Microsoft Windows, библиотека базового класса для приложений «.Net» / Mono).

Вы можете увеличить вероятность совпадения все три с помощью эмуляторов / интерпретаторов (для других наборов инструкций процессора), с дополнительными загрузчиками файлов (для иностранных файловых форматов) и наличием дополнительных библиотек программирования, предоставляющих больше API.

Обратите также внимание на то, что некоторые процессоры может изначально выполнить более одного набора команд; ПК довольно часто имеет наборы инструкций x86 и amd64; ARM-процессор может выполнять четыре: байт-код / ​​ThumbEE ARM32 / Thumb / Java. Некоторые операционные системы могут предоставлять более одного API изначально (Microsoft Windows предоставляет Win32 и POSIX).

Для всего остального вам нужно дополнительное программное обеспечение. Для запуска Java-программ вам нужны три части, перечисленные выше, чтобы заставить ее работать: программа виртуальной машины Java на запускает байт-код; способ запуска программ Java и Java Classlibrary для программ для вызова. «Java» является фирменным названием для нескольких отдельных технологий, первоначально разработанных Sun, но для пользователя они часто загружаются как один.

То же самое относится к «.Net», который является маркером маркетинга для нескольких различные технологии, первоначально разработанные Microsoft: Common Language Run-time / Base Class Library (CLR) - это API; VES - это загрузчик, а Common Language Interface (CLI) - это набор команд.

Вам не нужно загружать эти технологии от Microsoft, от Sun или от Intel только потому, что они изначально что-то придумали. AMD делает процессоры совместимыми со стандартами Intel; оба Apache («Гармония») и Google («Android Dalvik») делают Java-подобный набор; и Mono предоставляет пакет CLR / CLI / VES. Важно то, что каждый использует те же стандарты, что делает их совместимыми. DVD-диск будет воспроизводиться на любом проигрывателе DVD, который соответствует стандарту, а веб-страница HTML будет отображаться в любом веб-браузере, соответствующем стандартам HTML.

  • Mono - это пакет CLR / CLI / VES, который может (! d6)
  • Wine - это реализация Win32 API, которая может работать на Mac OSX, MS Windows и Linux.
  • Вы можете запустить Mono поверх Wine , поверх любой операционной системы.
  • Вы можете запустить Wine поверх Qemu, поверх любой архитектуры процессора.

Итак, Mono запускает приложения CLR .exe , а Wine запускает приложения Win32 .exe. Единственное единственное, что имена файлов заканчиваются на «.exe»;

Точно так же, как интерпретатор Python будет ошибочным при представлении Perl (и наоборот), интерпретатор CLR будет иметь значение right .

ошибка при представлении x86 + Win32 или JVM + Java байт-кода. Если вы можете опубликовать ссылку на конкретную программу, которую вы хотите запустить, я или кто-то другой должен быть в состоянии рассказать вам точный набор команд, формат файла и API, для которых он был разработан, и что вам нужно установить на Linux для запуска. Надеюсь, что это поможет!

(Иногда вам может понадобиться и то, и другое. Например, симулятор поезда Openbve является C # и скомпилирован в PE / COFF + CLI + CLR, но может факультативно использовать скомпилированные бинарные плагины C для PE / COFF + Win32 + x86. В этом случае вам нужна версия Mono под Wine. Если архитектура процессора также отличается от эмуляции, то Mono под Wine под Qemu.

28
ответ дан 13 August 2018 в 16:26

Короткий ответ:

.NET - ответ Microsoft на Java, а Mono - реализация с открытым исходным кодом. Вино для родных exes и не имеет ничего общего с Mono, за исключением того, что вы можете запустить с ним среду выполнения .NET, как и любое другое собственное программное обеспечение Windows.

Длинный ответ:

Чтобы понять разницу между Wine и Mono (и .NET), вы должны понимать разницу между исполняемыми файлами исполняемого машинного кода и исполняемым файлом «common language runtime» aka «virtual machine»:

Исходные исполняемые файлы машинного кода используют коды команд, специфичные для вашего процессора, и непосредственно выполняются им. Это означает, что их нужно перекомпилировать для разных процессоров. Wine может запускать собственные исполняемые файлы машинного кода для Windows, напрямую запуская этот исполняемый код и захватывая любые вызовы библиотеки, которые он делает, перенаправляя их на собственную реализацию Win32 API.

«CLR» или «VM» исполняемые файлы не относятся к одному процессору: им требуется дополнительная часть программного обеспечения, позволяющая процессору запускать их. Mono / .NET - один из таких примеров такой системы. .NET-программам требуется среда выполнения .NET, даже когда вы запускаете их в Windows. Java работает так же.

Итак:

1) разница между Wine и Mono: Wine предназначена для запуска исполняемых исполняемых файлов исполняемого файла для Windows, а Mono предназначена для работы Mono / .NET, которые не обязательно создаются для какой-либо конкретной платформы. Установка Mono в Linux эквивалентна установке среды выполнения .NET в Windows.

2) Если программа, которую вы хотите запустить, вообще не использует .NET, вы должны использовать Wine. Моно не поможет вам вообще.

Однако, если программа использует .NET, у вас есть два варианта: любой из них может работать или не работать:

Вы можете попробовать для запуска его с помощью Mono. Это не удастся, если .NET-программа также использует собственные функции из API win32, которые делают многие (но не все) .NET-приложения для Windows. Кроме того, вы можете установить среду выполнения Microsoft .NET для Windows внутри Wine, а затем запустить приложение .NET через нее. В этом случае вы не будете использовать Mono.

3) Wine и Mono вообще не зависят друг от друга, но, как указано выше, вы можете использовать среду выполнения Microsoft .NET в Wine для запуска приложений Mono / .NET.

18
ответ дан 25 May 2018 в 22:28
  • 1
    Благодаря! (1) Итак, если приложение зависит как от .NET, так и от win32, единственный способ - установить .NET на Wine и затем установить приложение на Wine? (2) Как узнать, использует ли приложение .NET и / или win32? – Tim 21 March 2011 в 08:25
  • 2
    Ввод file *.exe покажет информацию о наборе команд процессора и типе файла. Если это приложение CLI / CLR («.Net» / Mono), которое также использует собственные вызовы API Win32, вам необходимо его запустить или искать любые файлы file *.dll, которые отображаются как родной x86 + Win32. – sladen 21 March 2011 в 08:45
  • 3
    Вы также можете установить Mono для Windows в Wine, но в соответствии с Wine FAQ он с меньшей вероятностью работает, чем среда выполнения .NET. Нет простого способа узнать, использует ли .NET-программу собственные вызовы win32, поскольку существует множество способов, которыми они могут это сделать. Лучше всего попробовать сначала Mono, если это не сработает, попробуйте Wine + .NET. – Alistair Buxton 21 March 2011 в 09:20

Короткий ответ:

.NET - ответ Microsoft на Java, а Mono - реализация с открытым исходным кодом. Вино для родных exes и не имеет ничего общего с Mono, за исключением того, что вы можете запустить с ним среду выполнения .NET, как и любое другое собственное программное обеспечение Windows.

Длинный ответ:

Чтобы понять разницу между Wine и Mono (и .NET), вы должны понимать разницу между исполняемыми файлами исполняемого машинного кода и исполняемым файлом «common language runtime» aka «virtual machine»:

Исходные исполняемые файлы машинного кода используют коды команд, специфичные для вашего процессора, и непосредственно выполняются им. Это означает, что их нужно перекомпилировать для разных процессоров. Wine может запускать собственные исполняемые файлы машинного кода для Windows, напрямую запуская этот исполняемый код и захватывая любые вызовы библиотеки, которые он делает, перенаправляя их на собственную реализацию Win32 API.

«CLR» или «VM» исполняемые файлы не относятся к одному процессору: им требуется дополнительная часть программного обеспечения, позволяющая процессору запускать их. Mono / .NET - один из таких примеров такой системы. .NET-программам требуется среда выполнения .NET, даже когда вы запускаете их в Windows. Java работает так же.

Итак:

1) разница между Wine и Mono: Wine предназначена для запуска исполняемых исполняемых файлов исполняемого файла для Windows, а Mono предназначена для работы Mono / .NET, которые не обязательно создаются для какой-либо конкретной платформы. Установка Mono в Linux эквивалентна установке среды выполнения .NET в Windows.

2) Если программа, которую вы хотите запустить, вообще не использует .NET, вы должны использовать Wine. Моно не поможет вам вообще.

Однако, если программа использует .NET, у вас есть два варианта: любой из них может работать или не работать:

Вы можете попробовать для запуска его с помощью Mono. Это не удастся, если .NET-программа также использует собственные функции из API win32, которые делают многие (но не все) .NET-приложения для Windows. Кроме того, вы можете установить среду выполнения Microsoft .NET для Windows внутри Wine, а затем запустить приложение .NET через нее. В этом случае вы не будете использовать Mono.

3) Wine и Mono вообще не зависят друг от друга, но, как указано выше, вы можете использовать среду выполнения Microsoft .NET в Wine для запуска приложений Mono / .NET.

18
ответ дан 25 July 2018 в 22:19
  • 1
    Благодаря! (1) Итак, если приложение зависит как от .NET, так и от win32, единственный способ - установить .NET на Wine и затем установить приложение на Wine? (2) Как узнать, использует ли приложение .NET и / или win32? – Tim 21 March 2011 в 08:25
  • 2
    Ввод file *.exe покажет информацию о наборе команд процессора и типе файла. Если это приложение CLI / CLR («.Net» / Mono), которое также использует собственные вызовы API Win32, вам необходимо его запустить или искать любые файлы file *.dll, которые отображаются как родной x86 + Win32. – sladen 21 March 2011 в 08:45
  • 3
    Вы также можете установить Mono для Windows в Wine, но в соответствии с Wine FAQ он с меньшей вероятностью работает, чем среда выполнения .NET. Нет простого способа узнать, использует ли .NET-программу собственные вызовы win32, поскольку существует множество способов, которыми они могут это сделать. Лучше всего попробовать сначала Mono, если это не сработает, попробуйте Wine + .NET. – Alistair Buxton 21 March 2011 в 09:20

Короткий ответ:

.NET - ответ Microsoft на Java, а Mono - реализация с открытым исходным кодом. Вино для родных exes и не имеет ничего общего с Mono, за исключением того, что вы можете запустить с ним среду выполнения .NET, как и любое другое собственное программное обеспечение Windows.

Длинный ответ:

Чтобы понять разницу между Wine и Mono (и .NET), вы должны понимать разницу между исполняемыми файлами исполняемого машинного кода и исполняемым файлом «common language runtime» aka «virtual machine»:

Исходные исполняемые файлы машинного кода используют коды команд, специфичные для вашего процессора, и непосредственно выполняются им. Это означает, что их нужно перекомпилировать для разных процессоров. Wine может запускать собственные исполняемые файлы машинного кода для Windows, напрямую запуская этот исполняемый код и захватывая любые вызовы библиотеки, которые он делает, перенаправляя их на собственную реализацию Win32 API.

«CLR» или «VM» исполняемые файлы не относятся к одному процессору: им требуется дополнительная часть программного обеспечения, позволяющая процессору запускать их. Mono / .NET - один из таких примеров такой системы. .NET-программам требуется среда выполнения .NET, даже когда вы запускаете их в Windows. Java работает так же.

Итак:

1) разница между Wine и Mono: Wine предназначена для запуска исполняемых исполняемых файлов исполняемого файла для Windows, а Mono предназначена для работы Mono / .NET, которые не обязательно создаются для какой-либо конкретной платформы. Установка Mono в Linux эквивалентна установке среды выполнения .NET в Windows.

2) Если программа, которую вы хотите запустить, вообще не использует .NET, вы должны использовать Wine. Моно не поможет вам вообще.

Однако, если программа использует .NET, у вас есть два варианта: любой из них может работать или не работать:

Вы можете попробовать для запуска его с помощью Mono. Это не удастся, если .NET-программа также использует собственные функции из API win32, которые делают многие (но не все) .NET-приложения для Windows. Кроме того, вы можете установить среду выполнения Microsoft .NET для Windows внутри Wine, а затем запустить приложение .NET через нее. В этом случае вы не будете использовать Mono.

3) Wine и Mono вообще не зависят друг от друга, но, как указано выше, вы можете использовать среду выполнения Microsoft .NET в Wine для запуска приложений Mono / .NET.

18
ответ дан 26 July 2018 в 20:40
  • 1
    Благодаря! (1) Итак, если приложение зависит как от .NET, так и от win32, единственный способ - установить .NET на Wine и затем установить приложение на Wine? (2) Как узнать, использует ли приложение .NET и / или win32? – Tim 21 March 2011 в 08:25
  • 2
    Ввод file *.exe покажет информацию о наборе команд процессора и типе файла. Если это приложение CLI / CLR («.Net» / Mono), которое также использует собственные вызовы API Win32, вам необходимо его запустить или искать любые файлы file *.dll, которые отображаются как родной x86 + Win32. – sladen 21 March 2011 в 08:45
  • 3
    Вы также можете установить Mono для Windows в Wine, но в соответствии с Wine FAQ он с меньшей вероятностью работает, чем среда выполнения .NET. Нет простого способа узнать, использует ли .NET-программу собственные вызовы win32, поскольку существует множество способов, которыми они могут это сделать. Лучше всего попробовать сначала Mono, если это не сработает, попробуйте Wine + .NET. – Alistair Buxton 21 March 2011 в 09:20

Короткий ответ:

.NET - ответ Microsoft на Java, а Mono - реализация с открытым исходным кодом. Вино для родных exes и не имеет ничего общего с Mono, за исключением того, что вы можете запустить с ним среду выполнения .NET, как и любое другое собственное программное обеспечение Windows.

Длинный ответ:

Чтобы понять разницу между Wine и Mono (и .NET), вы должны понимать разницу между исполняемыми файлами исполняемого машинного кода и исполняемым файлом «common language runtime» aka «virtual machine»:

Исходные исполняемые файлы машинного кода используют коды команд, специфичные для вашего процессора, и непосредственно выполняются им. Это означает, что их нужно перекомпилировать для разных процессоров. Wine может запускать собственные исполняемые файлы машинного кода для Windows, напрямую запуская этот исполняемый код и захватывая любые вызовы библиотеки, которые он делает, перенаправляя их на собственную реализацию Win32 API.

«CLR» или «VM» исполняемые файлы не относятся к одному процессору: им требуется дополнительная часть программного обеспечения, позволяющая процессору запускать их. Mono / .NET - один из таких примеров такой системы. .NET-программам требуется среда выполнения .NET, даже когда вы запускаете их в Windows. Java работает так же.

Итак:

1) разница между Wine и Mono: Wine предназначена для запуска исполняемых исполняемых файлов исполняемого файла для Windows, а Mono предназначена для работы Mono / .NET, которые не обязательно создаются для какой-либо конкретной платформы. Установка Mono в Linux эквивалентна установке среды выполнения .NET в Windows.

2) Если программа, которую вы хотите запустить, вообще не использует .NET, вы должны использовать Wine. Моно не поможет вам вообще.

Однако, если программа использует .NET, у вас есть два варианта: любой из них может работать или не работать:

Вы можете попробовать для запуска его с помощью Mono. Это не удастся, если .NET-программа также использует собственные функции из API win32, которые делают многие (но не все) .NET-приложения для Windows. Кроме того, вы можете установить среду выполнения Microsoft .NET для Windows внутри Wine, а затем запустить приложение .NET через нее. В этом случае вы не будете использовать Mono.

3) Wine и Mono вообще не зависят друг от друга, но, как указано выше, вы можете использовать среду выполнения Microsoft .NET в Wine для запуска приложений Mono / .NET.

18
ответ дан 2 August 2018 в 03:47
  • 1
    Благодаря! (1) Итак, если приложение зависит как от .NET, так и от win32, единственный способ - установить .NET на Wine и затем установить приложение на Wine? (2) Как узнать, использует ли приложение .NET и / или win32? – Tim 21 March 2011 в 08:25
  • 2
    Ввод file *.exe покажет информацию о наборе команд процессора и типе файла. Если это приложение CLI / CLR («.Net» / Mono), которое также использует собственные вызовы API Win32, вам необходимо его запустить или искать любые файлы file *.dll, которые отображаются как родной x86 + Win32. – sladen 21 March 2011 в 08:45
  • 3
    Вы также можете установить Mono для Windows в Wine, но в соответствии с Wine FAQ он с меньшей вероятностью работает, чем среда выполнения .NET. Нет простого способа узнать, использует ли .NET-программу собственные вызовы win32, поскольку существует множество способов, которыми они могут это сделать. Лучше всего попробовать сначала Mono, если это не сработает, попробуйте Wine + .NET. – Alistair Buxton 21 March 2011 в 09:20

Короткий ответ:

.NET - ответ Microsoft на Java, а Mono - реализация с открытым исходным кодом. Вино для родных exes и не имеет ничего общего с Mono, за исключением того, что вы можете запустить с ним среду выполнения .NET, как и любое другое собственное программное обеспечение Windows.

Длинный ответ:

Чтобы понять разницу между Wine и Mono (и .NET), вы должны понимать разницу между исполняемыми файлами исполняемого машинного кода и исполняемым файлом «common language runtime» aka «virtual machine»:

Исходные исполняемые файлы машинного кода используют коды команд, специфичные для вашего процессора, и непосредственно выполняются им. Это означает, что их нужно перекомпилировать для разных процессоров. Wine может запускать собственные исполняемые файлы машинного кода для Windows, напрямую запуская этот исполняемый код и захватывая любые вызовы библиотеки, которые он делает, перенаправляя их на собственную реализацию Win32 API.

«CLR» или «VM» исполняемые файлы не относятся к одному процессору: им требуется дополнительная часть программного обеспечения, позволяющая процессору запускать их. Mono / .NET - один из таких примеров такой системы. .NET-программам требуется среда выполнения .NET, даже когда вы запускаете их в Windows. Java работает так же.

Итак:

1) разница между Wine и Mono: Wine предназначена для запуска исполняемых исполняемых файлов исполняемого файла для Windows, а Mono предназначена для работы Mono / .NET, которые не обязательно создаются для какой-либо конкретной платформы. Установка Mono в Linux эквивалентна установке среды выполнения .NET в Windows.

2) Если программа, которую вы хотите запустить, вообще не использует .NET, вы должны использовать Wine. Моно не поможет вам вообще.

Однако, если программа использует .NET, у вас есть два варианта: любой из них может работать или не работать:

Вы можете попробовать для запуска его с помощью Mono. Это не удастся, если .NET-программа также использует собственные функции из API win32, которые делают многие (но не все) .NET-приложения для Windows. Кроме того, вы можете установить среду выполнения Microsoft .NET для Windows внутри Wine, а затем запустить приложение .NET через нее. В этом случае вы не будете использовать Mono.

3) Wine и Mono вообще не зависят друг от друга, но, как указано выше, вы можете использовать среду выполнения Microsoft .NET в Wine для запуска приложений Mono / .NET.

18
ответ дан 4 August 2018 в 19:51
  • 1
    Благодаря! (1) Итак, если приложение зависит как от .NET, так и от win32, единственный способ - установить .NET на Wine и затем установить приложение на Wine? (2) Как узнать, использует ли приложение .NET и / или win32? – Tim 21 March 2011 в 08:25
  • 2
    Ввод file *.exe покажет информацию о наборе команд процессора и типе файла. Если это приложение CLI / CLR («.Net» / Mono), которое также использует собственные вызовы API Win32, вам необходимо его запустить или искать любые файлы file *.dll, которые отображаются как родной x86 + Win32. – sladen 21 March 2011 в 08:45
  • 3
    Вы также можете установить Mono для Windows в Wine, но в соответствии с Wine FAQ он с меньшей вероятностью работает, чем среда выполнения .NET. Нет простого способа узнать, использует ли .NET-программу собственные вызовы win32, поскольку существует множество способов, которыми они могут это сделать. Лучше всего попробовать сначала Mono, если это не сработает, попробуйте Wine + .NET. – Alistair Buxton 21 March 2011 в 09:20

Короткий ответ:

.NET - это ответ Microsoft на Java, а Mono - реализация с открытым исходным кодом. Вино для родных exes и не имеет ничего общего с Mono, за исключением того, что вы можете запустить с ним среду выполнения .NET, как и любое другое собственное программное обеспечение Windows.


Длинный ответ:

Чтобы понять разницу между Wine и Mono (и .NET), вы должны понимать разницу между исполняемыми файлами исполняемого машинного кода и исполняемыми файлами «common language runtime», например «virtual machine»:

Исходные исполняемые файлы машинного кода используйте коды команд, специфичные для вашего процессора, и непосредственно выполняются им. Это означает, что их нужно перекомпилировать для разных процессоров. Wine может запускать собственные исполняемые файлы машинного кода для Windows, напрямую запуская этот исполняемый код и захватывая любые вызовы библиотеки, которые он делает, перенаправляя их на собственную реализацию Win32 API.

«CLR» или «VM» исполняемые файлы не относятся к одному процессору: им требуется дополнительная часть программного обеспечения, позволяющая процессору запускать их. Mono / .NET - один из таких примеров такой системы. .NET-программам требуется среда выполнения .NET, даже когда вы запускаете их в Windows. Java работает так же.

Итак:

1) разница между Wine и Mono: Wine предназначено для запуска собственных исполняемых файлов машинного кода, сделанных для Windows, а Mono для работы Mono / .NET, которые не обязательно создаются для какой-либо конкретной платформы. Установка Mono в Linux эквивалентна установке среды выполнения .NET в Windows.

2) Если программа, которую вы хотите запустить, вообще не использует .NET, вы должны использовать Wine. Mono вам совсем не поможет.

Однако, если программа использует .NET, у вас есть два варианта: любой из них может работать или не работать:

  • Вы можете попробовать запустить его с помощью Mono. Это произойдет, если программа .NET также использует собственные функции из API win32, которые многие (но не все) .NET-приложения, сделанные для Windows, делают.
  • Кроме того, вы можете установить среду выполнения Microsoft .NET для windows внутри Wine, а затем запустите приложение .NET через него. В этом случае вы не будете использовать Mono.

3) Wine и Mono вообще не зависят друг от друга, но, как указано выше, вы можете использовать Microsoft .NET runtime в Wine для запуска приложений Mono / .NET.

18
ответ дан 6 August 2018 в 03:54

Короткий ответ:

.NET - это ответ Microsoft на Java, а Mono - реализация с открытым исходным кодом. Вино для родных exes и не имеет ничего общего с Mono, за исключением того, что вы можете запустить с ним среду выполнения .NET, как и любое другое собственное программное обеспечение Windows.


Длинный ответ:

Чтобы понять разницу между Wine и Mono (и .NET), вы должны понимать разницу между исполняемыми файлами исполняемого машинного кода и исполняемыми файлами «common language runtime», например «virtual machine»:

Исходные исполняемые файлы машинного кода используйте коды команд, специфичные для вашего процессора, и непосредственно выполняются им. Это означает, что их нужно перекомпилировать для разных процессоров. Wine может запускать собственные исполняемые файлы машинного кода для Windows, напрямую запуская этот исполняемый код и захватывая любые вызовы библиотеки, которые он делает, перенаправляя их на собственную реализацию Win32 API.

«CLR» или «VM» исполняемые файлы не относятся к одному процессору: им требуется дополнительная часть программного обеспечения, позволяющая процессору запускать их. Mono / .NET - один из таких примеров такой системы. .NET-программам требуется среда выполнения .NET, даже когда вы запускаете их в Windows. Java работает так же.

Итак:

1) разница между Wine и Mono: Wine предназначено для запуска собственных исполняемых файлов машинного кода, сделанных для Windows, а Mono для работы Mono / .NET, которые не обязательно создаются для какой-либо конкретной платформы. Установка Mono в Linux эквивалентна установке среды выполнения .NET в Windows.

2) Если программа, которую вы хотите запустить, вообще не использует .NET, вы должны использовать Wine. Mono вам совсем не поможет.

Однако, если программа использует .NET, у вас есть два варианта: любой из них может работать или не работать:

  • Вы можете попробовать запустить его с помощью Mono. Это произойдет, если программа .NET также использует собственные функции из API win32, которые многие (но не все) .NET-приложения, сделанные для Windows, делают.
  • Кроме того, вы можете установить среду выполнения Microsoft .NET для windows внутри Wine, а затем запустите приложение .NET через него. В этом случае вы не будете использовать Mono.

3) Wine и Mono вообще не зависят друг от друга, но, как указано выше, вы можете использовать Microsoft .NET runtime в Wine для запуска приложений Mono / .NET.

18
ответ дан 7 August 2018 в 21:51

Короткий ответ:

.NET - это ответ Microsoft на Java, а Mono - реализация с открытым исходным кодом. Вино для родных exes и не имеет ничего общего с Mono, за исключением того, что вы можете запустить с ним среду выполнения .NET, как и любое другое собственное программное обеспечение Windows.


Длинный ответ:

Чтобы понять разницу между Wine и Mono (и .NET), вы должны понимать разницу между исполняемыми файлами исполняемого машинного кода и исполняемыми файлами «common language runtime», например «virtual machine»:

Исходные исполняемые файлы машинного кода используйте коды команд, специфичные для вашего процессора, и непосредственно выполняются им. Это означает, что их нужно перекомпилировать для разных процессоров. Wine может запускать собственные исполняемые файлы машинного кода для Windows, напрямую запуская этот исполняемый код и захватывая любые вызовы библиотеки, которые он делает, перенаправляя их на собственную реализацию Win32 API.

«CLR» или «VM» исполняемые файлы не относятся к одному процессору: им требуется дополнительная часть программного обеспечения, позволяющая процессору запускать их. Mono / .NET - один из таких примеров такой системы. .NET-программам требуется среда выполнения .NET, даже когда вы запускаете их в Windows. Java работает так же.

Итак:

1) разница между Wine и Mono: Wine предназначено для запуска собственных исполняемых файлов машинного кода, сделанных для Windows, а Mono для работы Mono / .NET, которые не обязательно создаются для какой-либо конкретной платформы. Установка Mono в Linux эквивалентна установке среды выполнения .NET в Windows.

2) Если программа, которую вы хотите запустить, вообще не использует .NET, вы должны использовать Wine. Mono вам совсем не поможет.

Однако, если программа использует .NET, у вас есть два варианта: любой из них может работать или не работать:

  • Вы можете попробовать запустить его с помощью Mono. Это произойдет, если программа .NET также использует собственные функции из API win32, которые многие (но не все) .NET-приложения, сделанные для Windows, делают.
  • Кроме того, вы можете установить среду выполнения Microsoft .NET для windows внутри Wine, а затем запустите приложение .NET через него. В этом случае вы не будете использовать Mono.

3) Wine и Mono вообще не зависят друг от друга, но, как указано выше, вы можете использовать Microsoft .NET runtime в Wine для запуска приложений Mono / .NET.

18
ответ дан 10 August 2018 в 10:06

Короткий ответ:

.NET - это ответ Microsoft на Java, а Mono - реализация с открытым исходным кодом. Вино для родных exes и не имеет ничего общего с Mono, за исключением того, что вы можете запустить с ним среду выполнения .NET, как и любое другое собственное программное обеспечение Windows.


Длинный ответ:

Чтобы понять разницу между Wine и Mono (и .NET), вы должны понимать разницу между исполняемыми файлами исполняемого машинного кода и исполняемыми файлами «common language runtime», например «virtual machine»:

Исходные исполняемые файлы машинного кода используйте коды команд, специфичные для вашего процессора, и непосредственно выполняются им. Это означает, что их нужно перекомпилировать для разных процессоров. Wine может запускать собственные исполняемые файлы машинного кода для Windows, напрямую запуская этот исполняемый код и захватывая любые вызовы библиотеки, которые он делает, перенаправляя их на собственную реализацию Win32 API.

«CLR» или «VM» исполняемые файлы не относятся к одному процессору: им требуется дополнительная часть программного обеспечения, позволяющая процессору запускать их. Mono / .NET - один из таких примеров такой системы. .NET-программам требуется среда выполнения .NET, даже когда вы запускаете их в Windows. Java работает так же.

Итак:

1) разница между Wine и Mono: Wine предназначено для запуска собственных исполняемых файлов машинного кода, сделанных для Windows, а Mono для работы Mono / .NET, которые не обязательно создаются для какой-либо конкретной платформы. Установка Mono в Linux эквивалентна установке среды выполнения .NET в Windows.

2) Если программа, которую вы хотите запустить, вообще не использует .NET, вы должны использовать Wine. Mono вам совсем не поможет.

Однако, если программа использует .NET, у вас есть два варианта: любой из них может работать или не работать:

  • Вы можете попробовать запустить его с помощью Mono. Это произойдет, если программа .NET также использует собственные функции из API win32, которые многие (но не все) .NET-приложения, сделанные для Windows, делают.
  • Кроме того, вы можете установить среду выполнения Microsoft .NET для windows внутри Wine, а затем запустите приложение .NET через него. В этом случае вы не будете использовать Mono.

3) Wine и Mono вообще не зависят друг от друга, но, как указано выше, вы можете использовать Microsoft .NET runtime в Wine для запуска приложений Mono / .NET.

18
ответ дан 13 August 2018 в 16:26
  • 1
    Благодаря! (1) Итак, если приложение зависит как от .NET, так и от win32, единственный способ - установить .NET на Wine и затем установить приложение на Wine? (2) Как узнать, использует ли приложение .NET и / или win32? – Tim 21 March 2011 в 08:25
  • 2
    Ввод файла * .exe будет отображаться информация о наборе команд процессора и типе файла. Если это приложение CLI / CLR («.Net» / Mono), в котором также использует собственные вызовы API Win32, вам необходимо запустить его или искать любой файл * .dll [ ! d1], которые отображаются как родные x86 + Win32. – sladen 21 March 2011 в 08:45
  • 3
    Вы также можете установить Mono для Windows в Wine, но в соответствии с Wine FAQ он с меньшей вероятностью работает, чем среда выполнения .NET. Нет простого способа узнать, использует ли .NET-программу собственные вызовы win32, поскольку существует множество способов, которыми они могут это сделать. Лучше всего попробовать сначала Mono, если это не сработает, попробуйте Wine + .NET. – Alistair Buxton 21 March 2011 в 09:20

Другие вопросы по тегам:

Похожие вопросы: