Date: Sat, 8 Nov 1997 12:32:45 -0800 (PST) Message-Id: <199711082032.MAA01376@adit.ap.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: Oon Lin , djgpp AT delorie DOT com From: Nate Eldredge Subject: Re: Fun with DXE files Precedence: bulk At 01:03 11/8/1997 +1000, Oon Lin wrote: >Hi ... > >I'd like to have fun with DXE files ... but what are they exactly ? I >presume they are something like DLL in Windows ?? They are an (intentionally) very limited version of DLL's. Basically, it is a program module that can be loaded dynamically. The limitations are: * The main program only gets to know about one symbol in the DXE. (one function, one variable, etc.) * The DXE cannot access any symbols from the main program. > >Can you please direct me to where I can get more information on basics >for DXE ?? FAQ section 22.13, libc docs for `_dxe_load()', a simplistic example in the `djtst' distribution, the libc sources (especially _dxe_load(), the `dxegen' tool, and the startup code which loads the emu387 dxe...) Basically, you write a code module, and pick one symbol to be the one the main program gets to see (called the `entry point'). Compile it, and use `dxegen' to turn it into a DXE. Then your main program calls `_dxe_load()', which loads the file and returns the address of the entry point. Nate Eldredge eldredge AT ap DOT net