Tiens on m'appelle :) Je vois que je suis catalogué rubrique Mono :)
Mono est constitué :
- d'une VM
- d'un JIT
- d'un ensemble de bibliothèque (framework)
le premier élément est indispensable.
le deuxième est inclu dans le premier et te permet de compiler en natif du code IL (qui vient de C# ou autre), mais il te faudra toujours la VM pour effectuer les appels, et "surveiller" le code en cours d'exécution (Garbage Collector etc.). Celà n'a pas beaucoup d'intérêt de compiler en natif, sauf au dernier moment, sur la machine cible (d'où le terme Just In Time, "Just à temps")
Le troisième éléments se décomposent en différents fichiers avec l'extension .dll (ouh vilain mais on s'est d'où celà vient ;)).
Pour les bibliothèques tu peux te contenter de livrer ton application avec les dll dont ton appli dépend (genre system.dll, system.xml.dll, gtk-sharp.dll, etc).
Pour l'exécutable, il n'y a pas de problème, à partir du moment où la VM, bref Mono sait où trouver ce dont il a besoin, cad les lib. Si j'ai bien compris, Mono recherchera d'abord dans un endroit spécifique, dans son dossier lib, à côté de ton appli et dans un dossier lib éventuellement mis à côté de ton appli. Bref, aucun problème. Il te faudra juste faire un petit script pour faire un truc du genre : mono myAppzQuiTue.exe
Par contre ce n'est pas les même VM et bibliothèques de base pour Windows, Linux ou MacOS, because ce n'est pas les même implémentations, donc il faut logiquement "embarquer" des éléments différents. (Sauf ton appli qui elle est indépendante ;))
Voili voilou, j'espère que j'ai répondu à toutes tes questions.
[^] # Re: C# et Mono
Posté par TImaniac (site web personnel) . En réponse au journal C# et Mono. Évalué à 1.
Mono est constitué :
- d'une VM
- d'un JIT
- d'un ensemble de bibliothèque (framework)
le premier élément est indispensable.
le deuxième est inclu dans le premier et te permet de compiler en natif du code IL (qui vient de C# ou autre), mais il te faudra toujours la VM pour effectuer les appels, et "surveiller" le code en cours d'exécution (Garbage Collector etc.). Celà n'a pas beaucoup d'intérêt de compiler en natif, sauf au dernier moment, sur la machine cible (d'où le terme Just In Time, "Just à temps")
Le troisième éléments se décomposent en différents fichiers avec l'extension .dll (ouh vilain mais on s'est d'où celà vient ;)).
Pour les bibliothèques tu peux te contenter de livrer ton application avec les dll dont ton appli dépend (genre system.dll, system.xml.dll, gtk-sharp.dll, etc).
Pour l'exécutable, il n'y a pas de problème, à partir du moment où la VM, bref Mono sait où trouver ce dont il a besoin, cad les lib. Si j'ai bien compris, Mono recherchera d'abord dans un endroit spécifique, dans son dossier lib, à côté de ton appli et dans un dossier lib éventuellement mis à côté de ton appli. Bref, aucun problème. Il te faudra juste faire un petit script pour faire un truc du genre : mono myAppzQuiTue.exe
Par contre ce n'est pas les même VM et bibliothèques de base pour Windows, Linux ou MacOS, because ce n'est pas les même implémentations, donc il faut logiquement "embarquer" des éléments différents. (Sauf ton appli qui elle est indépendante ;))
Voili voilou, j'espère que j'ai répondu à toutes tes questions.