Are .net exes real executables?

I noticed that in .net it is extremely easy to remake exe. Is it because .net executables are just command code for the .net mechanism, and because of this .net is an interpreted language? And it was never executed initially?

I have to admit, I never had any performance issues with .net code, so I doubt it.

Can anyone explain this to me?

Thanks for the answers so far, does anyone know why Microsoft decided to create this method requiring a framework, if I remember correctly in the days of the vb6 code, it was compiled for native. Is there a good reason why .net code should be run through the interpreter now>

+3
source share
10 answers

. - MSIL (Microsoft Intermediate Language), - Java. Intel32 .NET. MSIL . Ildasm Reflector .Net.

, JIT (Just-In-Time) . , NGen.exe. JIT , NGen, .

+4

, "" .

.NET Portable Executable (PE), , Windows.

, .

.NET "" exes.

.NET PE extended:

Microsoft.NET Framework PE . - CLR Header CLR Data. , CLR IMPORT PE/COFF. CLR CLR .

CLR : (IL):

  • , , . ( , ..), , ( (CTS)), > . CLR .

  • (IL) , , .NET CLR (CIL) . "" IL-, - - . , - Java, .NET CLR. - (, , ..), , . IL .NET PE CLR.

+7

.NET exes - PE, , , IL. , .

+2

.exe , IL. , JIT , .

, , . JIT- , , , .

+2

. , , .

+1

, . CIL (Common Intermediate Language), CLI (. ECMA-335 - http://www.ecma-international.org/publications/standards/Ecma-335.htm).

CIL: .NEt , JIT (Just-In-Time) . , , , , . , , , Micro framework .

:

, , instrcution, .

"" , .

+1

.Net, (MSIL) ( Just In Time), . , .Net , , . jitting , JIT ( ..), , ( ++) .

, .Net ngen, JIT.

+1

, "". Exes, , MSIL. exes, CLR (Common Language Runtime).

MSIL . .NET Reflector, . # VB.NET ++ .., exe...

Xenocode Postbuild obfuscator, exe Native32 ,.NET Reflector exe, . , exes :)...

+1

.NET is not interpreted. When the code actually executes, it is native code that was compiled from MSIL thanks to JIT. The executable file contains the MSIL instructions needed to create your own code.

0
source

As a fretime- mono -developer I tend to answer the last part of your question (are there really good reasons for the .net code that should now work through the interpreter?): Yes: Portability

0
source

Source: https://habr.com/ru/post/1719695/


All Articles