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.