www.delorie.com/djgpp/doc/utils/utils_21.html   search  
DJGPP Utilities Reference

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

19.2 Import libraries

Import libraries are a special kind of libraries (`.a') which contains a number of very small wrappers (just long jumps to the actual functions inside the dynamic module and two functions: dlload_MODNAME and dlunload_MODNAME.

Initially all jumps are directed to dlload_MODNAME, thus when you call any function from a dynamic module it initially arrives to dlload_MODNAME function. Then the module is loaded, all jumps are directed to the respective locations inside the dynamic module, and the last call is restarted.

As you may understand (and mentioned above), this approach does not work with variables. This is one of the drawbacks of this method.

To build a import library you should use the -Y switch on the dxe3gen command line. The import library can be built from a ready DXE module as well as `on-the-fly' during DXE generation process. For example, you can do:

 
	dxe3gen -Y libmy.a -o my.dxe one.o two.o three.o

as well as

 
	dxe3gen -o my.dxe one.o two.o three.o
	dxe3gen -Y libmy.a my.dxe

Both above sequences are equivalent. The -I switch does the same thing as the -Y option and is used if you do not want to have symbols automatically resolved (when they are provided by another DXE, for example).


  webmaster   donations   bookstore     delorie software   privacy  
  Copyright 2004   by DJ Delorie     Updated Nov 2004