seberapa layak untuk mem-port aplikasi C ++ ke Java bytecode menggunakan LLVM (saya kira LLJVM)?
Masalahnya adalah bahwa saat ini kami memiliki proses yang ditulis dalam C ++ tetapi klien baru telah membuat wajib untuk dapat menjalankan program dengan cara multiplatform, menggunakan Java Virtual Machine dengan jelas tanpa kode asli (tanpa JNI). Idenya adalah untuk dapat mengambil toples yang dihasilkan dan menyalin kemudian ke sistem yang berbeda (Linux, Win, 32 bit - 64 bit) dan seharusnya berfungsi.
Melihat sekeliling tampak seperti mungkin untuk mengkompilasi kode C ++ ke LLVM IR dan kemudian kode itu ke bytecode java. Kode yang dihasilkan tidak perlu dibaca.
Saya telah menguji sedikit dengan hal-hal serupa menggunakan emscripten, ini membutuhkan kode C ++ dan kompilasi ke JavaScript. Hasilnya adalah JS yang valid tetapi benar-benar tidak dapat dibaca (seperti assambler).
- Adakah yang melakukan port aplikasi dari C ++ ke Java bytecode menggunakan teknik ini?
- Masalah apa yang bisa kita hadapi?
- Apakah pendekatan yang valid untuk kode produksi?
Untuk memperjelas poin saya setelah beberapa komentar, mungkin port tidak digunakan dengan baik, saya tidak mengharapkan kode sumber yang dapat dibaca sebagai hasilnya, hanya java bytecode, jadi itu bukan 'port' yang akan dikembangkan lagi, hanya saja target plattform harus java JVM bukan assamblear asli.
Catatan: Saya sadar bahwa saat ini kami memiliki beberapa pustaka sumber C + + dan non-standar, kami sedang mencari untuk menghapus kode non-pangkalan ini dan semua pustaka sumber dekat dan menggunakan Free Libre Open Source Software, jadi anggaplah semua kode adalah kode standar C ++ dengan semua kode tersedia pada waktu kompilasi.
Note2: Ini bukan pilihan untuk menulis kode C ++ portabel dan kemudian mengkompilasinya ke platform target yang diinginkan, program yang dikompilasi harus multiplatform, sehingga penggunaan JVM.
Note3: Saat ini kami tidak mencari solusi serupa yang diterapkan pada Python atau basis bahasa lain, tetapi saya juga ingin mendengarnya. Dengan ini saya maksudkan bahwa target kita yang dapat dieksekusi harus bytecode java tetapi jika ada opsi untuk mengkompilasi C ++ ke kode terkompilasi python yang valid saya juga ingin mendengar tentang mereka.