Date: Sun, 27 Dec 1998 16:09:20 -0500 Message-Id: <199812272109.QAA06917@envy.delorie.com> From: DJ Delorie To: djgpp AT delorie DOT com In-reply-to: (message from Laurence Withers on Sun, 27 Dec 1998 19:33:13 +0000) Subject: Re: The DXE mechanism - has anybody used it effectively? References: Reply-To: djgpp AT delorie DOT com > It does indeed! The file now seems to work correctly, and a DXE file is > generated. However, the C++ file *calling* the DXE now falls over when I > try to link to an .exe; it gives the error: > > a-main.o(.text+0x19):a-main.cpp: undefined reference to `_dxe_load(char > *)' > make.exe: *** [a.exe] Error 1 sys/dxe.h needs `` extern "C" { } '' around the _dxe_load() declarataion. DJGPP 2.02 has this. Did you remember to include ? > The DXE cannot use exceptions. It can use global objects, but only if > they don't have constructors. It can, however, use objects with > constructors/destructors in general. It cannot use the new, delete or > delete [] operators. Are you using DJGPP 2.01? 2.02 allows DXEs to have exceptions, although I doubt they'd work right as there's no mechanism to chain them back to the main application. DXEs are pretty simple. Perhaps you want the GNU dld package?