Acción f # Intérprete (fsi.exe) también produce lenguaje intermedio de código como F # compilador (fsc.exe) hace?

StackOverflow https://stackoverflow.com/questions/4613921

Pregunta

Actualmente estoy haciendo un recherche para la universidad sobre F #. Tengo una pregunta sobre el F # consola interactiva y el F # compilador.

El F # compilador produce código de lenguaje intermedio de Microsoft (MSIL) cuando su compilación F # -fuente. Esto entonces es traducida por el JIT compilador a código de máquina, al ejecutar el programa escrito.

Pero lo que hace el F # intérprete consola? ¿También la línea por línea # traducir el código F en MSIL, y después de que JIT a código de máquina? ¿O se traduce el F # -Code directamente en código máquina?

Si se convierte en IL primero, entonces creo que es probable que haya un IL-intérprete porque el JIT compilador sólo compila programas completos. ¿no es así?

¿Qué opinas, ¿cómo F # F # -Intérprete maneja código y lo traduce?

Saludos, Martin

¿Fue útil?

Solución

El F # compilador emite IL usando su propia biblioteca ABSIL . ABSIL es otro proyecto MSR que fue absorbida por F #.

Cuando se compila para el modo interactivo, ABSIL utiliza la System.Reflection.Emit espacio de nombres para emitir IL en la memoria, en tiempo de ejecución, que es a su vez compilado a código nativo por el JIT conforme se ejecuta el código.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top