2011-08-10 28 views

Trả lời

4

Hiện tại không có cách nào để thực hiện việc này. Nó có thể là có thể, nhưng nó sẽ đòi hỏi rất nhiều công việc. Bạn sẽ cần chạy mono trong chế độ biên dịch AOT (trước thời hạn) đầy đủ với codegen LLVM. Nhưng có nhiều vấn đề:

  1. LLVM hiện không được sử dụng cho tất cả các phương pháp và mono quay trở lại trình tạo mã riêng của nó trong một số trường hợp. Bạn sẽ cần phải nhận được hỗ trợ LLVM cho tất cả các trường hợp, hoặc cung cấp mã JS cần thiết khi không thể sử dụng LLVM.
  2. Mono hiện có một số tệp kiến ​​trúc cụ thể (x86, amd64, cánh tay, v.v.) và có thể sẽ cần tương đương với JS, cho cả việc tạo mã và thời gian chạy AOT.

Và vân vân ...

0

Thậm chí nếu bạn chạy mono trong AOT đầy đủ và biên dịch chương trình của bạn với LLVM nó không thể sử dụng nó với emscripten. Đây là trích dẫn từ số discussion in mono group:

Bên cạnh đó, không, không thể sử dụng emscripten với đầu ra llvm của mono vì nhiều lý do. Đầu ra nhúng các cuộc gọi đến thời gian chạy đơn và một số trampilines. Mono sử dụng một LLVM tùy chỉnh với các hoạt động IR tùy chỉnh và điều đó sẽ không hoạt động trên emscripten mà không có một số công việc về kết thúc của họ.