PE: Difference between revisions
[unchecked revision] | [unchecked revision] |
m (+ file formats infobox) |
m (Added "Someone's Perspective On PE32 Vs ELF32" link to the forums for poster.) |
||
Line 13: | Line 13: | ||
* http://perso.wanadoo.fr/pierrelib/exec_formats/PE_v1.0.html |
* http://perso.wanadoo.fr/pierrelib/exec_formats/PE_v1.0.html |
||
* http://perso.wanadoo.fr/pierrelib/exec_formats/OMF_v1.1.html |
* http://perso.wanadoo.fr/pierrelib/exec_formats/OMF_v1.1.html |
||
* Someone's Perspective On PE32 Vs ELF32. - http://forum.osdev.org/viewtopic.php?f=1&t=17686&p=133835#p133835 |
|||
[[Category:Executable Formats]] |
[[Category:Executable Formats]] |
Revision as of 12:19, 11 August 2008
Executable Formats |
---|
Microsoft |
*nix |
Apple |
With Windows 95/NT, a new executable file type was required. Thus was born the "PE" Portable Executable, which is still in use. Unlike its predecessors, WIN-PE is a true 32bit file format, supporting relocatable code. It does distinguish between TEXT, DATA, and BSS. It is, in fact, a bastardized version of the COFF format.
If you did set up a Cygwin environment on your Windows machine, "PE" is the target format for your Cygwin GCC toolchain, which causes the unaware some headache when trying to link parts build under Cygwin with parts build under Linux or BSD (which use the ELF target by default). (Hint: You have to build a GCC Cross-Compiler)
The PE format is used by Windows 95 and higher, Windows NT 3.1 and higher, the Mobius and ReactOS. A modified but compatible version is used for .NET assemblies on both Windows and Linux (with Mono).
See Also
- MSDN Magazine: Inside Windows: An In-Depth Look into the Win32 Portable Executable File Format
- PE Specification: latest edition, OOXML format, 1999 edition, DOC format
- http://perso.wanadoo.fr/pierrelib/exec_formats/PE_v1.0.html
- http://perso.wanadoo.fr/pierrelib/exec_formats/OMF_v1.1.html
- Someone's Perspective On PE32 Vs ELF32. - http://forum.osdev.org/viewtopic.php?f=1&t=17686&p=133835#p133835