• [^] # Re: C# et le libre...

    Posté par (site web personnel) . En réponse à la dépêche talweg, une migration vers Mono. Évalué à 2.

    Je pensais que la CLR était un peu comme la JVM, une sorte "d'émulateur" pour un proc virtuel, avec donc des instructions de très bas niveau...
    Un émulateur serait plutôt ce qu'on appelle un "interpréteur" : il lit bêtement à la suite les instructions de la machine virtuelle, les interprêtes, et les exécute. C'est ce qui se passe par exemple avec l'interprêteur Perl. C'est comme ca que fonctionnait les JVM initialement. Maintenant l'environnement d'exécution "compile" le bytecode en code natif avant de l'exécuter.

    Donc il existe une manière de compiler du .NET en natif ? (comme avec gcj ?)
    .NET a été conçu pour être compilé dès le départ, c'est donc assez naturelle. sous Mono ca donne :
    mono --aot monprog.exe
    Pour java c'était plus compliqué, vu que ce n'était pas conçu pour dès le départ. La plupart des JVM mixait donc du JIT et de l'interprétation. GCJ a démontré que c'était cependant possible de tout compiler avant.