What is PEI format?

I understand that PE is a modified version of COFF and PE + is a modified version of PE with 64 bit support, but what is PEI? Am I correct in saying that there is no difference between PE and PEI and they can be used interchangeably?

+3


source to share


2 answers


PEI is not an officially recognized format or term. The PE / COFF standard only describes two formats: PE32 (32-bit) and PE32 + (64-bit). I've heard discussions about PE and PEI before, but the only place I've ever come across the term PEI is in libpei

the one referenced by JEdot's answer . And as pointed out in this answer, the developers libpei

seem to be confused about the terminology itself, so it doesn't really make sense to use the PEI term at all.



Also, it is not true that the MS-DOS stub is required to run a PE executable on Windows. It's just built in for backward compatibility.

+2


source


" The only difference between the pe format and the pei format is that the latter has the MSDOS 2.0.exe header on the front panel, which displays the message" This application must run under Windows. " (Or some for example). (FIXME: is this statement true or no) unknown. Are there any more subtle differences between the pe and pei formats? For now, let's assume not. If you find it, then God is there documenting it!)

Microsoft docs use the word "image" instead of "executable" because the former can also refer to a DLL (shared library). Confusion can arise from the fact that i' in

pei 'also refers to "image". The "pe" format can also create images (ie executables), just to run on a win32 system you need to use the pei format. "

Source:



http://www.opensource.apple.com/source/gdb/gdb-1515/src/bfd/libpei.h

+1


source







All Articles