delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/12/27/16:09:25

Date: Sun, 27 Dec 1998 16:09:20 -0500
Message-Id: <199812272109.QAA06917@envy.delorie.com>
From: DJ Delorie <dj AT delorie DOT com>
To: djgpp AT delorie DOT com
In-reply-to: <VnZKGBA5toh2EA4W@lwithers.demon.co.uk> (message from Laurence
Withers on Sun, 27 Dec 1998 19:33:13 +0000)
Subject: Re: The DXE mechanism - has anybody used it effectively?
References: <zG6T+BAzLpg2EAn$@lwithers.demon.co.uk>
<Pine DOT SUN DOT 3 DOT 91 DOT 981227131519 DOT 113I-100000 AT is> <VnZKGBA5toh2EA4W AT lwithers DOT demon DOT co DOT uk>
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
<sys/dxe.h> ?

> 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?

- Raw text -


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