Портирование программ для x86 / 64 Windows на Windows 8 ARM - PullRequest
5 голосов
/ 06 марта 2012

В этой статье (из команды разработчиков Windows) говорится:

WOA [Windows On ARM] не будет поддерживать любой тип подхода к виртуализации или эмуляции, и не разрешит перенос или запуск существующих приложений x86 / 64.

Значит ли это, что я даже не смогу перекомпилировать приложение x86 / 64 из исходного кода для ARM?

Если да, что именно мешает мне это сделать? Насколько я понимаю, Win32 API присутствует в Windows 8 ARM .

Если нет, что они подразумевают под неспособностью портировать приложения x86 / 64 на ARM?

Ответы [ 3 ]

6 голосов
/ 06 марта 2012

Из статьи о Windows, на которую вы ссылаетесь, второй цитируемый абзац - убийца.Портирование существующих приложений определенно поддерживается НЕ .

Разработчики, желающие нацелиться на WOA, делают это путем написания приложений для WinRT (Windows API для создания приложений в стиле Metro) с использованием новых инструментов Visual Studio 11 на разных языках, включая C # / VB / XAML и Jscript / HTML5. Ориентированный на собственный код WinRT также поддерживается с использованием C и C ++ , которые могут быть нацелены на разные архитектуры и распространяться через Магазин Windows. WOA не поддерживает запуск, эмуляцию или перенос существующих настольных приложений x86 / 64 .Код, который использует только системные или операционные службы из WinRT, можно использовать в приложении и распространять через Магазин Windows для WOA и x86 / 64.Потребители получают все программное обеспечение, включая драйверы устройств, через Магазин Windows и Центр обновления Майкрософт или Центр обновления Windows.

Если мы включим широкое портирование существующего кода, мы не сможем выполнить наше обязательство по увеличению срока службы батареи, предсказуемой производительности и особенно надежного взаимодействия с течением времени. Соглашения, используемые в современных приложениях Windows, не обязательно обеспечивают это, будь то фоновые процессы, циклы опроса, таймеры, системные перехватчики, запускаемые программы, изменения реестра, режим ядракод, права администратора, неподписанные драйверы, надстройки или множество других распространенных методов.Избегая этих конструкций, WOA может обеспечить новый уровень удовлетворенности клиентов: ваш компьютер WOA продолжит работать с течением времени, так как приложения изолированы от системы и друг от друга, и вы по-прежнему будете контролировать, какое дополнительное программное обеспечение работает наот вашего имени, позволяя раскрыть возможности разнообразного оборудования.

4 голосов
/ 06 марта 2012

В Win8 для ARM поддерживается только подмножество Win32:

Если вы попытаетесь создать приложение, использующее Win32 API, которое неподдерживается, он не будет построен, потому что API не будет в библиотеке.Если вы попытаетесь создать свою собственную библиотеку для поддержки API-интерфейсов, приложение по-прежнему будет непригодным для использования, поскольку единственным способом развертывания приложений для клиентов будет использование магазина приложений MS, который, без сомнения, проверит соответствие API.

Из "Создание Windows для архитектуры процессора ARM" статья:

Потребители получают все программное обеспечение, включая драйверы устройств, через Магазин Windows и Центр обновления Майкрософтили Центр обновления Windows.

Это может быть возможно сделать на вашей машине для разработки (но, возможно, нет - я действительно не уверен, будет ли такой «взлом» возможным, поддерживается или нет), но вы, безусловно, выигралине может развернуть его любым распространенным способом.

Короче говоря, любое существующее приложение Win32, вероятно, потребует значительных усилий для переноса в Win8 для ARM.Это не будет вопросом перекомпиляции и исправления любых ошибок, которые появляются для запуска приложения на ARM.

3 голосов
/ 06 марта 2012

Они приводят эту оговорку чуть дальше в вашей цитируемой статье:

Кроме того, разработчики с существующим кодом, будь то на C, C ++, C #, Visual Basic или JavaScript, могут свободно включать этот код в свои приложения, если он нацелен на набор WinRT API для служб Windows.

У них есть версия Office и IE; Я уверен, что это не были повторные реализации.

...