13.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 ofREAD
,WRITE
,EXECUTE
orSHARED
. The linker will see this and act upon it.