www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/11/08/15:34:19

Date: Sat, 8 Nov 1997 12:32:45 -0800 (PST)
Message-Id: <199711082032.MAA01376@adit.ap.net>
Mime-Version: 1.0
To: Oon Lin <Oon DOT Lin AT jcu DOT edu DOT au>, djgpp AT delorie DOT com
From: Nate Eldredge <eldredge AT ap DOT net>
Subject: Re: Fun with DXE files

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



- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019