This page was last modified 20:48, 8 December 2007.
E32Image
From Forum Nokia Wiki
Each operating system has its own executable file format. For example, Windows uses PE (Portable Executable) format and many UNIX variants use ELF (Executable and Linkable Format).
Symbian OS has its own executable file format. It is sometimes called E32Image. The E32Image format on pre-Symbian OS 9 is based on PE. The E32Image format on Symbian OS 9 and later is based on ELF.
There are some tools included in Symbian SDKs to convert PE or ELF to E32Image, i.e.:
- petran. Petran is used in pre-Symbian OS 9 to translate PE to E32Image.
- elftran. Elftran is used in Symbian OS 9 or later to translate ELF in ABIv1 format to E32Image.
- elf2e32. elf2e32 is used in Symbian OS 9 or later to translate ELF in ABIv2 format to E32Image.
All the tools above are executed automatically during build process. Normally, it is executed at the end of abld.bat command.
There are some reasons why Symbian doesn't use standard executable format, for example:
- There are some OS-specific features need to be embedded in the header, for example capability information of Platform Security.
- Symbian OS reduces the size of executable file significantly by replacing function name with ordinal number. The translation is done by the tool based on information stored in a DEF file.
Internal links
- Application Binary Interface
- E32Image file format on pre-Symbian OS 9
- E32Image file format on Symbian OS 9
External links
- Symbian OS Executable File Format (E32Image)
- New Symbian OS 9 Executable File Format (E32Image)
- Portable Executable on Wikipedia
- Executable and Linkable Format Executable on Wikipedia
| Related Discussions | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| corrupt data segment in symbian 9.1 dll | andreas_nilsson | General Symbian C++ | 0 | 2006-05-09 09:48 |
| C++ Dll & Symbian v9.1 | jascco | General Symbian C++ | 8 | 2007-05-10 17:24 |
| Steps to create SIS. How create .pkg file for petran? | BobbyFletcher | Symbian Tools & SDKs | 1 | 2004-04-21 18:26 |
| Linking in OS 9.1 with third party libraries | juliand77 | Mobile Java Tools & SDKs | 3 | 2005-12-01 18:27 |
| [announce] Ensymble v0.24 | jethro.fn | Python | 1 | 2007-10-18 22:37 |
