Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Arquivo .exe no C#

O arquivo .exe, gerado após a execução do código (e que fica dentro da pasta do projeto), é um arquivo já em código de máquina? Numa próxima execução (após a criação do arquivo .exe, quem executa o arquivo .exe é o processador ou a CLR? Colocando de outra forma: A CLR compila e cria o arquivo .exe, certo? E, caso não haja alteração no código fonte, numa segunda execução o arquivo .exe é executado diretamente pelo processador, sem ajuda da CLR?

2 respostas
solução!

Olá, José Maurício.

O EXE gerado não é 100 código nativo de máquina, ele é "gerenciado" pelo .NET runtime e roda somente debaixo desse runtime. E sempre, em qualquer execução vai ser rodado sob o .NET runtime. Esse EXE, sim, é CLR, porém, o .NET, a partir da primeira compilação, guarda um "cache" do código já compilado na primeira execução, para acelerar as execuções, porém somente quando ele percebe que não houve mudanças significativas. Mesmo esse "cache" do EXE nunca é diretamente executado pelo processador, sempre é gerenciado pelo runtime. Espero ter resumido e respondido adequadamente.

Oi Gerson! Muito obrigado por sua resposta. Esclareceu legal a minha dúvida. Abs!