Xref: news-dnh.mv.net comp.os.msdos.djgpp:3938 Path: news-dnh.mv.net!mv!barney.gvi.net!news.netrail.net!imci2!newsfeed.internetmci.com!news.sesqui.net!rice!news!sandmann From: Charles Sandmann Newsgroups: comp.os.msdos.djgpp Subject: Re: Can dll's be done in v2? Date: Mon, 18 Dec 1995 10:07:13 CST Organization: Rice University, Houston, Texas Lines: 22 Message-ID: <30d591b1.sandmann@clio.rice.edu> References: <4b147q$ir7 AT supreme DOT pcug DOT org DOT au> Reply-To: sandmann AT clio DOT rice DOT edu NNTP-Posting-Host: clio.rice.edu To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp > Can dlls be done in v2? Some DLL packages are being worked right now, but they aren't Win compatible. They address the link limitations of DXEs. > Can a dxe hold multiple functions? Yes. Create a "function address vector" and build that as the structure to return the address. Such a structure can contain a mixture of functions and data structure addresses, so you can build drivers with this. > What restrictions on what code is in a dxe? DXE's can't reference items in the main image. So they can't get access to global variables needed by certain libc routines (like I/O). If the DXEGEN links OK, then it will probably work. If you reference something which accesses the main image, you will probably get link errors. DXEs were ment to be the smallest, fastest way to load standlone code like EMU387 or a 32-bit driver API. The DXE load code is only a few hundred bytes (and is already imbedded in all images for EMU387) so is a very efficient way to dynamically load medium-to-large sized chunks of code.