### Module Definition Files

A module definition (.DEF) file is a plain text file that describes the names, attributes, exports, imports, and other characteristics of an application or dynamic link library.

If you use #pragma export or _Export to export your function, you may still need to provide an EXPORTS entry for that function. If your function has the following default characteristics,

- Has no I/O privileges, and
- Is exported by ordinal. (If this is the case, you do not want the system loader to also keep its name resident in memory.)

it does not require an EXPORTS entry. If your function has characteristics other than the defaults, the only way you can specify them is to list them under the EXPORTS keyword in your module definition file.

Module definition files cannot be used directly as input to the linker. You must use the library utility, ILIB, to generate the .lib and `.`exp files. Import libraries and export definition files can be used as input to the linker.

Create a Module Definition File
Define Code and Data Segments
Export Functions from a DLL
Modify a Module Definition File for Virtual Device Drivers

Example of a Module Definition File