2012-03-06 27 views
5

This article (từ đội ngũ kỹ thuật Windows) nói:Porting x86/64 chương trình Windows để Windows 8 ARM

woa [Windows On ARM] sẽ không hỗ trợ bất kỳ loại ảo hóa hoặc phương pháp thi đua, và sẽ không cho phép các ứng dụng x86/64 hiện có được chuyển hoặc chạy.

Điều đó có nghĩa là tôi thậm chí sẽ không thể biên dịch lại ứng dụng x86/64 từ nguồn cho ARM không?

Nếu có, chính xác những gì ngăn tôi làm điều đó? Sự hiểu biết của tôi là the Win32 API is present on Windows 8 ARM.

Nếu không, chúng có ý nghĩa gì khi không thể chuyển các ứng dụng x86/64 sang ARM?

Trả lời

4

Chỉ có một tập hợp con của Win32 được hỗ trợ trên Win8 cho ARM:

Nếu bạn cố gắng để xây dựng một ứng dụng sử dụng một API Win32 mà không được hỗ trợ, nó đã giành' t xây dựng vì API sẽ không có trong thư viện. Nếu bạn cố gắng tạo thư viện của riêng mình để hỗ trợ các API, ứng dụng sẽ không thể sử dụng được vì cách duy nhất để triển khai ứng dụng cho khách hàng sẽ thông qua kho ứng dụng MS, điều này chắc chắn sẽ kiểm tra sự tuân thủ API.

Từ Các "Building Windows for the ARM processor architecture" bài viết:

Người tiêu dùng có được tất cả các phần mềm, bao gồm trình điều khiển thiết bị, thông qua Windows Store và Microsoft Update hoặc Windows Update.

Có thể làm như vậy trên máy phát triển của bạn (nhưng có thể không - tôi thực sự không chắc liệu 'hack' sẽ có thể, được hỗ trợ hay không), nhưng bạn chắc chắn sẽ không có thể triển khai nó trong bất kỳ loại thời trang phổ biến nào.

Tóm lại, mọi ứng dụng Win32 hiện có có thể sẽ cần công việc quan trọng để được chuyển sang Win8 cho ARM. Nó sẽ không phải là một vấn đề của biên dịch lại và sửa chữa bất kỳ lỗi nào bật ra để có được các ứng dụng để chạy trên ARM.

+0

Tôi nghĩ rằng tất cả Win32 (của ứng dụng x86) phải được chuyển đổi sang WinRT API? Vì chỉ có các API WinRT được phép sử dụng để tạo ứng dụng Metro (có thể chạy trên ARM), phải không? – onmyway133

3

Họ làm cung cấp bối cảnh này thêm một chút trong bài viết được trích dẫn của bạn:

Thêm vào đó, các nhà phát triển với mã hiện tại, cho dù trong C, C++, C#, Visual Basic, hoặc JavaScript, có thể tự do kết hợp mã vào các ứng dụng của họ, miễn là nó nhắm vào bộ WinRT API cho các dịch vụ Windows.

Họ đã có phiên bản Office và IE; Tôi là những người tích cực không được thực hiện lại.

6

Từ bài viết Windows bạn liên kết đến, đoạn trích dẫn thứ hai là kẻ giết người. Việc chuyển các ứng dụng hiện có chắc chắn là NOT được hỗ trợ.

phát triển có nhu cầu để nhắm mục tiêu woa làm như vậy bằng cách viết các ứng dụng cho WinRT (API Windows cho việc xây dựng các ứng dụng phong cách Metro) bằng cách sử dụng Visual Studio mới 11 công cụ trong một loạt các ngôn ngữ, bao gồm C#/VB/XAML và Jscript/HTML5. Nhắm mục tiêu mã gốc WinRT cũng được hỗ trợ bằng cách sử dụng C và C++, có thể được nhắm mục tiêu qua các kiến ​​trúc và phân phối qua Windows Store. WOA không hỗ trợ chạy, mô phỏng hoặc chuyển các ứng dụng máy tính để bàn x86/64 hiện có. Mã chỉ sử dụng các dịch vụ hệ thống hoặc hệ điều hành từ WinRT có thể được sử dụng trong một ứng dụng và được phân phối thông qua Windows Store cho cả WOA và x86/64. Người tiêu dùng có được tất cả phần mềm, bao gồm trình điều khiển thiết bị, thông qua Windows Store và Microsoft Update hoặc Windows Update.

Nếu chúng tôi bật tính năng chuyển mã rộng hiện có, chúng tôi sẽ không phân phối cam kết về tuổi thọ pin dài hơn, hiệu suất dự đoán và đặc biệt là trải nghiệm đáng tin cậy theo thời gian. Các quy ước được sử dụng bởi các ứng dụng Windows ngày nay không nhất thiết cung cấp điều này, cho dù đó là các quy trình nền, vòng lặp bỏ phiếu, bộ hẹn giờ, móc hệ thống, chương trình khởi động, thay đổi sổ đăng ký, mã chế độ hạt nhân, quyền quản trị, trình điều khiển không dấu, bổ trợ hoặc lưu trữ các kỹ thuật phổ biến khác. Bằng cách tránh các cấu trúc này, WOA có thể cung cấp một mức độ hài lòng của khách hàng mới: PC WOA của bạn sẽ tiếp tục hoạt động tốt theo thời gian khi các ứng dụng được tách biệt khỏi hệ thống và hệ thống, và bạn sẽ vẫn kiểm soát phần mềm bổ sung đang chạy thay mặt bạn, tất cả trong khi cho phép các khả năng của phần cứng đa dạng tỏa sáng.

+0

Phải, vậy chính xác điều gì sẽ xảy ra nếu tôi đơn giản biên dịch lại ứng dụng hiện có của mình cho ARM? – HighCommander4

+1

@ HighCommander4: Làm thế nào? MS muốn bạn nhắm mục tiêu WinRT, vì vậy tôi đoán họ sẽ không cung cấp thư viện nhập khẩu, vv cho win32 trên ARM. Ngay cả khi bạn đã quản lý để hack một cái gì đó với nhau, các ứng dụng được phân phối thông qua Windows Store vì vậy tôi đoán MS sẽ từ chối nó. – arx

+1

@ HighCommander4: Win32 KHÔNG được hỗ trợ trên bộ vi xử lý ARM, nếu bạn muốn phát triển các ứng dụng C/C++ bản địa bạn CÓ phải nhắm vào giao diện WinRT được giới thiệu với Windows 8. – madman1969

Các vấn đề liên quan