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.
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 stringPuts 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.