dans quelle mesure est-il viable de porter une application C ++ sur le bytecode Java en utilisant LLVM (je suppose LLJVM)?
Le fait est que nous avons actuellement un processus écrit en C ++ mais un nouveau client a rendu obligatoire de pouvoir exécuter le programme de manière multiplateforme, en utilisant la machine virtuelle Java sans évidemment aucun code natif (pas de JNI). L'idée est de pouvoir prendre le pot généré et le copier ensuite sur différents systèmes (Linux, Win, 32 bits - 64 bits) et cela devrait simplement fonctionner.
En regardant autour, il est possible de compiler C ++ en code IR LLVM puis ce code en bytecode java. Il n'est pas nécessaire que le code généré soit lisible.
J'ai testé un peu avec des choses similaires en utilisant emscripten, cela prend du code C ++ et le compile en JavaScript. Le résultat est un JS valide mais totalement illisible (ressemble à un assembleur).
- Quelqu'un a-t-il fait le portage d'une application de C ++ vers le bytecode Java en utilisant cette technique?
- Quels problèmes pourrions-nous rencontrer?
- Une approche valide pour le code de production?
Pour clarifier mon point de vue après quelques commentaires, peut-être que le port n'est pas bien utilisé, je ne m'attends donc pas à du code source lisible, juste du bytecode java, donc ce n'est pas un 'port' qui sera développé pour plus, juste que le la plate-forme cible doit être la JVM java et non l'assamblear natif.
Remarque: Je sais que nous avons actuellement des bibliothèques C ++ non standard et des bibliothèques source proches, nous cherchons à supprimer ce code non standard et toutes les bibliothèques source proches et à utiliser le logiciel libre et gratuit Open Source, donc supposons que tout le code soit du code C ++ standard avec tout le code est disponible au moment de la compilation.
Remarque 2: Il n'est pas possible d'écrire du code C ++ portable puis de le compiler sur la plate-forme cible souhaitée, le programme compilé doit être multiplateforme, d'où l'utilisation de JVM.
Note3: Pour l'instant, nous ne recherchons pas de solutions similaires appliquées à Python ou à une autre base de langage, mais j'aimerais également en entendre parler. Avec cela, je veux dire que notre exécutable cible doit être du bytecode java mais s'il y a des options pour compiler C ++ en code compilé python valide, j'aimerais aussi en entendre parler.