delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/01/11/09:14:55

Message-ID: <019f01be3dd1$244df2e0$88023ace@ALPHA.alpha.net>
From: "Brian Bacon" <kyberteknik AT geocities DOT com>
To: <djgpp AT delorie DOT com>
Subject: Re: DXE Tutorial?
Date: Mon, 11 Jan 1999 18:13:24 -0800
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.3110.1
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
Reply-To: djgpp AT delorie DOT com

What kind of information are you looking for?  Whats given in the info docs
and the source should be enough to figure it out (at least it was for me).
DXE is VERY simplistic.  Basically you compile code into objects and link
them together with DXEGEN to create a DXE.  This DXE CAN NOT access any
variables outside of the objects that make it (that means no printf unless
you want to link in printf's code too, but I think that requires the object
file for printf & anything that it calls).  Also, you specify (on the dxegen
command line) what you want as an "entry", in other words, you give it
either a function name or a variable name (I think you need to use's an '_'
underscore before the name) and _dxe_load will return an address (that you
can store in a pointer) to that function or variable.  You can use this in
any way you want (i.e. to call the function, or to access the variable).
Then you can get elaborate and (for example) have it return a pointer to an
array of pointers (in your dxe) that contains (as the first array entry) you
special function.  The rest of the array could be just empty four byte data
blocks that you could fill in with real function address (i.e. array entry 1
is the address of printf, entry 2 is the address of scanf, etc...).  Then
you dxer could create a pointer (int (*printf)(char *format, ...)) and in
your init code you could do printf=the_big_array[1];  Now whenever your DXE
calls printf, it is actually calling it by using the pointer stored in
the_big_array[1], which at run time your main program fills in with the REAL
address of printf().  Whew.. Anyways, need any more info... just write :)

TTYL                -Brian



-----Original Message-----
From: Vagabond_Kube AT my-dejanews DOT com <Vagabond_Kube AT my-dejanews DOT com>
Newsgroups: comp.os.msdos.djgpp
To: djgpp AT delorie DOT com <djgpp AT delorie DOT com>
Date: Monday, January 11, 1999 3:00 AM
Subject: DXE Tutorial?


>Hi ppl,
>
>I'm wondering whether anyone knows of a good DXE tutorial on the web. I've
>looked on the Delorie website but can't seem to find anything on it. If
>anyone knows of a DXE tutorial or information site, would you mind posting
it
>or emailing it to me?
>
>Thanx,
>
>VKube
>
>-----------== Posted via Deja News, The Discussion Network ==----------
>http://www.dejanews.com/       Search, Read, Discuss, or Start Your Own

- Raw text -


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