GNU Binary Utilities: def file format |
---|
dlltool
.def fileA .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
.
Note: If you want to use LIBRARY as name then you need to quote. Otherwise
this will fail due a necessary hack for libtool (see PR binutils/13710 for more
details).
EXPORTS ( ( (
name1 [ =
name2 ] ) | (
name1 =
module-name .
external-name ) ) [ ==
its_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.
If its_name is specified, this name is used as string in export table.
module-name.
Note: The EXPORTS
has to be the last command in .def file, as keywords
are treated - beside LIBRARY
- as simple name-identifiers.
If you want to use LIBRARY as name then you need to quote it.
IMPORTS ( (
internal-name =
module-name .
integer ) | [
internal-name = ]
module-name .
external-name ) [ == ) its_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.
If its_name is specified, this name is used as string in import table.
Note: The IMPORTS
has to be the last command in .def file, as keywords
are treated - beside LIBRARY
- as simple name-identifiers.
If you want to use LIBRARY as name then you need to quote it.
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.