Up: dlltool



14.1 The format of the dlltool .def file

A .def file contains any number of the following commands:

NAME name [ , base ]
The result is going to be named name.exe.
LIBRARY name [ , base ]
The result is going to be named name.dll.
EXPORTS ( ( ( name1 [ = name2 ] ) | ( name1 = module-name . external-name ) )
[ integer ] [ NONAME ] [ CONSTANT ] [ DATA ] [ PRIVATE ] ) *
Declares name1 as an exported symbol from the DLL, with optional ordinal number integer, or declares name1 as an alias (forward) of the function external-name in the DLL module-name.
IMPORTS ( ( internal-name = module-name . integer ) | [ internal-name = ] module-name . external-name ) ) *
Declares that external-name or the exported function whose ordinal number is integer is to be imported from the file module-name. If internal-name is specified then this is the name that the imported function will be referred to in the body of the DLL.
DESCRIPTION string
Puts string into the output .exp file in the .rdata section.
STACKSIZE number-reserve [, number-commit ]
HEAPSIZE number-reserve [, number-commit ]
Generates --stack or --heap number-reserve,number-commit in the output .drectve section. The linker will see this and act upon it.
CODE attr +
DATA attr +
SECTIONS ( section-name attr + ) *
Generates --attr section-name attr in the output .drectve section, where attr is one of READ, WRITE, EXECUTE or SHARED. The linker will see this and act upon it.