A .def file contains any number of the following commands:
NAME
name [ ,
base ]
.exe
.
LIBRARY
name [ ,
base ]
.dll
.
EXPORTS ( ( (
name1 [ =
name2 ] ) | (
name1 =
module-name .
external-name ) )
[
integer ] [ NONAME ] [ CONSTANT ] [ DATA ] [ PRIVATE ] ) *
IMPORTS ( (
internal-name =
module-name .
integer ) | [
internal-name = ]
module-name .
external-name ) ) *
DESCRIPTION
string.rdata
section.
STACKSIZE
number-reserve [,
number-commit ]
HEAPSIZE
number-reserve [,
number-commit ]
--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 + ) *
--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.