Java to C thực sự là dễ nhất. Hãy nhớ rằng bạn cần phải chuyển đổi ngôn ngữ, Nếu bạn làm điều đó, các thư viện cần thiết có thể được chuyển đổi bởi trình biên dịch mới của bạn. Nói cách khác Swing và AWT không phải là một vấn đề lớn ...
Tôi sẽ bắt đầu bằng cách xem xét kỹ giao diện Java Native (JNI). JNI là một phần của java cho phép nó được sử dụng với C và C++. Lý do tôi sẽ bắt đầu ở đây là nó trở nên khá rõ ràng như thế nào các phần của Java có thể được thực hiện trong C. Một khi tôi đã nắm bắt các cấu trúc cơ bản, như cách Java Objects có thể được ánh xạ lên cấu trúc C (struct) và mọi thứ Java là một đối tượng bao gồm các mảng, tôi có thể nhìn vào mã nguồn mở JDK.
Trình chuyển đổi thực tế sẽ phải chuyển đổi tất cả các thư viện Java đã nhập (và các thư viện được nhập của chúng, v.v ...) có nghĩa là bạn sẽ cần mã nguồn cho mọi thứ. Chuyển đổi này không có nhiệm vụ nhỏ vì các thư viện Java lớn.
Quy trình sẽ tốn thời gian, nhưng không yêu cầu AI. Tuy nhiên, tôi không thấy lý do gì để thực hiện chuyển đổi như thế này. Nó mất tính di động của Java và sẽ không đạt được hiệu quả của C (ngoại trừ việc nó sẽ được biên dịch thành mã gốc, nhưng tốt hơn là biên dịch mã máy trực tiếp từ Java).
Đó là một câu hỏi hay. Tôi luôn tự hỏi: Tại sao chúng ta có thể tự động dịch các ngôn ngữ tự nhiên phức tạp (http://translate.google.com/translate_t), nhưng thất bại trong việc dịch tự động giữa các ngôn ngữ lập trình bị hạn chế, đơn giản hơn nhiều? – Frank
Một lý do, tất nhiên, là không có sai sót nào được dung thứ khi dịch giữa các ngôn ngữ lập trình, trong khi con người linh hoạt hơn và hiểu bản dịch, ngay cả khi nó có lỗi. – Frank
Một số lần thử - [ONE] (http://tech.novosoft-us.com/product_c2j.jsp) và [TWO] (http://www.soften.ktu.lt/~stonis/c2java/index.html) để tạo bộ chuyển đổi C thành Java. – Lazer