delorie.com/djgpp/doc/utils/utils_21.html | search |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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 | delorie software privacy |
Copyright © 2004 | Updated Nov 2004 |