Re: Difference between Portable Executable (PE) file and a Assembl



I've never used the ILASM tool day-to-day, only for experimentation.

Referring back to the MS documentation, ILASM is a tool for vendors creating
IL generators. It allows them to concentrate on the actual renderring of IL
from their custom language compilers without the need to write an IL to
machine-code compiler.

I may be wrong but JIT may also use ILASM when compiling IL to native
machine code for the first time, but you may want to check up on this. I
certainly don't consider myself an expert on all thing IL!!

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cptools/html/cpconMSILAssemblerIlasmexe.asp


Ben


"suresh_C#" <sureshC@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:1514412B-6A94-47BA-B93E-061CCF12DFD5@xxxxxxxxxxxxxxxx
>
> Thanks Ben. This is clear to me now.
>
> I would be grateful if you answer to this question also.
>
> I assume that JIT compiler and Ilasm.exe convert the IL code into machine
> dependent code.
>
> I knew that there are 2 tools ie JIT and one more tool [I forgot name]
> which
> do the above. Then in .NET who uses the Ilasm.exe tool.
>
>
>
> "Ben Fidge" wrote:
>
>> Yes you are right, a PE executable is created from the IL. PE is the file
>> format used to define 32bit Windows Executables. This is the native
>> format
>> used by Windows. As mentioned, your .NET assembly is first compiled to IL
>> which is a platform independant assembly language. This is then compiled
>> into the platform specific binary, which for us Windows developers is
>> called
>> PE.
>>
>> PE has been around since the first versions of Windows NT and all
>> versions
>> of Windows since Win95 have also been made to expect that particular
>> format
>> to store binary executables. Obviously, as no current processors know how
>> to
>> execute IL, it needs recompiling for the processor and platform it's
>> running
>> on.
>>
>> For more info on the format have a look here:
>>
>> http://www.wotsit.org/search.asp?page=2&s=binary
>>
>>
>>
>> "suresh_C#" <sureshC@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
>> news:47968DF1-825C-4B55-99C6-DC71841B5417@xxxxxxxxxxxxxxxx
>> >
>> > Thanks Ben, Thanks Scott.
>> >
>> > But, following is definition of Ilasm.exe
>> > --
>> > When you compile managed code, the compiler converts the source code to
>> > MSIL
>> > code. MSIL is a CPU-independent language and its code can be converted
>> > to
>> > native code. ***You can use the Ilasm tool, Ilasm.exe, to generate a
>> > portable
>> > executable file from the MSIL code. *** You can then run the resulting
>> > executable file to determine the performance of your application. This
>> > enables you to generate the MSIL code and the metadata without emitting
>> > MSIL
>> > in the portable executable file format. In addition, Ilasm.exe does not
>> > create intermediate object files. It also does not have a linking stage
>> > to
>> > generate a portable executable file.
>> > --
>> >
>> > ***You can use the Ilasm tool, Ilasm.exe, to generate a portable
>> > executable
>> > file from the MSIL code. ***
>> >
>> > Considering this point, I think it generates a portable executable file
>> > (
>> > ??? different file ) from the MSIL code (Assembly ???)
>> >
>> > Am I right? If right please I don't understand what is PE and why it is
>> > used
>> > then.
>> >
>> >
>> >
>> > "Scott Allen" wrote:
>> >
>> >> Hi Mahesh:
>> >>
>> >> PE is a file format.
>> >>
>> >> An assembly is the smallest unit of deployment for .NET applications
>> >> and consist of one or more modules. These modules use the PE file
>> >> format.
>> >>
>> >> --
>> >> Scott
>> >> http://www.OdeToCode.com/blogs/scott/
>> >>
>> >> On Sun, 1 May 2005 12:17:05 -0700, suresh_C#
>> >> <sureshC@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
>> >>
>> >> >Dear All,
>> >> >
>> >> >What is difference between Portable Executable (PE) file and a
>> >> >Assembly?
>> >> >
>> >> >Thanks,
>> >> >Mahesh
>> >> >
>> >> >
>> >>
>> >>
>> >
>>
>>
>>


.



Relevant Pages

  • Re: Difference between Portable Executable (PE) file and a Assembl
    ... I assume that JIT compiler and Ilasm.exe convert the IL code into machine ... > format used to define 32bit Windows Executables. ... >> in the portable executable file format. ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: COBOL Compiler for Windows
    ... setting Windows Compatibility mode to NT? ... The package is aimed at any platform that runs CICS, ... So the V2.2 compiler I have performs two functions, ... executables for the online Cobol/CICS pgms that my software generates. ...
    (comp.lang.cobol)
  • Re: Question on multiple compiler environment
    ... number of a compiler in executables generated by it? ... If Windows has anything like make you could have a make target for the ... the compiler version command in an include file, ... have similar keyword expansion features. ...
    (comp.lang.fortran)
  • Re: Difference between Portable Executable (PE) file and a Assembl
    ... >I assume that JIT compiler and Ilasm.exe convert the IL code into machine ... >> format used to define 32bit Windows Executables. ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: Difference between Portable Executable (PE) file and a Assembl
    ... >>I assume that JIT compiler and Ilasm.exe convert the IL code into machine ... >>> format used to define 32bit Windows Executables. ...
    (microsoft.public.dotnet.framework.aspnet)