| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <html> |
| <!-- Copyright (C) 1991-2013 Free Software Foundation, Inc. |
| |
| Permission is granted to copy, distribute and/or modify this document |
| under the terms of the GNU Free Documentation License, Version 1.3 |
| or any later version published by the Free Software Foundation; |
| with no Invariant Sections, with no Front-Cover Texts, and with no |
| Back-Cover Texts. A copy of the license is included in the |
| section entitled "GNU Free Documentation License". |
| --> |
| <!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ --> |
| <head> |
| <title>GNU Binary Utilities: def file format</title> |
| |
| <meta name="description" content="GNU Binary Utilities: def file format"> |
| <meta name="keywords" content="GNU Binary Utilities: def file format"> |
| <meta name="resource-type" content="document"> |
| <meta name="distribution" content="global"> |
| <meta name="Generator" content="makeinfo"> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
| <link href="index.html#Top" rel="start" title="Top"> |
| <link href="Binutils-Index.html#Binutils-Index" rel="index" title="Binutils Index"> |
| <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> |
| <link href="dlltool.html#dlltool" rel="up" title="dlltool"> |
| <link href="readelf.html#readelf" rel="next" title="readelf"> |
| <link href="dlltool.html#dlltool" rel="prev" title="dlltool"> |
| <style type="text/css"> |
| <!-- |
| a.summary-letter {text-decoration: none} |
| blockquote.smallquotation {font-size: smaller} |
| div.display {margin-left: 3.2em} |
| div.example {margin-left: 3.2em} |
| div.indentedblock {margin-left: 3.2em} |
| div.lisp {margin-left: 3.2em} |
| div.smalldisplay {margin-left: 3.2em} |
| div.smallexample {margin-left: 3.2em} |
| div.smallindentedblock {margin-left: 3.2em; font-size: smaller} |
| div.smalllisp {margin-left: 3.2em} |
| kbd {font-style:oblique} |
| pre.display {font-family: inherit} |
| pre.format {font-family: inherit} |
| pre.menu-comment {font-family: serif} |
| pre.menu-preformatted {font-family: serif} |
| pre.smalldisplay {font-family: inherit; font-size: smaller} |
| pre.smallexample {font-size: smaller} |
| pre.smallformat {font-family: inherit; font-size: smaller} |
| pre.smalllisp {font-size: smaller} |
| span.nocodebreak {white-space:nowrap} |
| span.nolinebreak {white-space:nowrap} |
| span.roman {font-family:serif; font-weight:normal} |
| span.sansserif {font-family:sans-serif; font-weight:normal} |
| ul.no-bullet {list-style: none} |
| --> |
| </style> |
| |
| |
| </head> |
| |
| <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> |
| <a name="def-file-format"></a> |
| <div class="header"> |
| <p> |
| Up: <a href="dlltool.html#dlltool" accesskey="u" rel="up">dlltool</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Binutils-Index.html#Binutils-Index" title="Index" rel="index">Index</a>]</p> |
| </div> |
| <hr> |
| <a name="The-format-of-the-dlltool-_002edef-file"></a> |
| <h3 class="section">14.1 The format of the <code>dlltool</code> <samp>.def</samp> file</h3> |
| |
| <p>A <samp>.def</samp> file contains any number of the following commands: |
| </p> |
| <dl compact="compact"> |
| <dt><code>NAME</code> <var>name</var> <code>[ ,</code> <var>base</var> <code>]</code></dt> |
| <dd><p>The result is going to be named <var>name</var><code>.exe</code>. |
| </p> |
| </dd> |
| <dt><code>LIBRARY</code> <var>name</var> <code>[ ,</code> <var>base</var> <code>]</code></dt> |
| <dd><p>The result is going to be named <var>name</var><code>.dll</code>. |
| 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). |
| </p> |
| </dd> |
| <dt><code>EXPORTS ( ( (</code> <var>name1</var> <code>[ = </code> <var>name2</var> <code>] ) | ( </code> <var>name1</var> <code>=</code> <var>module-name</var> <code>.</code> <var>external-name</var> <code>) ) [ == </code> <var>its_name</var> <code>]</code></dt> |
| <dt><code>[</code> <var>integer</var> <code>] [ NONAME ] [ CONSTANT ] [ DATA ] [ PRIVATE ] ) *</code></dt> |
| <dd><p>Declares <var>name1</var> as an exported symbol from the DLL, with optional |
| ordinal number <var>integer</var>, or declares <var>name1</var> as an alias |
| (forward) of the function <var>external-name</var> in the DLL. |
| If <var>its_name</var> is specified, this name is used as string in export table. |
| <var>module-name</var>. |
| Note: The <code>EXPORTS</code> has to be the last command in .def file, as keywords |
| are treated - beside <code>LIBRARY</code> - as simple name-identifiers. |
| If you want to use LIBRARY as name then you need to quote it. |
| </p> |
| </dd> |
| <dt><code>IMPORTS ( (</code> <var>internal-name</var> <code>=</code> <var>module-name</var> <code>.</code> <var>integer</var> <code>) | [</code> <var>internal-name</var> <code>= ]</code> <var>module-name</var> <code>.</code> <var>external-name</var> <code>) [ == ) <var>its_name</var> <code>]</code> *</code></dt> |
| <dd><p>Declares that <var>external-name</var> or the exported function whose |
| ordinal number is <var>integer</var> is to be imported from the file |
| <var>module-name</var>. If <var>internal-name</var> is specified then this is |
| the name that the imported function will be referred to in the body of |
| the DLL. |
| If <var>its_name</var> is specified, this name is used as string in import table. |
| Note: The <code>IMPORTS</code> has to be the last command in .def file, as keywords |
| are treated - beside <code>LIBRARY</code> - as simple name-identifiers. |
| If you want to use LIBRARY as name then you need to quote it. |
| </p> |
| </dd> |
| <dt><code>DESCRIPTION</code> <var>string</var></dt> |
| <dd><p>Puts <var>string</var> into the output <samp>.exp</samp> file in the |
| <code>.rdata</code> section. |
| </p> |
| </dd> |
| <dt><code>STACKSIZE</code> <var>number-reserve</var> <code>[, </code> <var>number-commit</var> <code>]</code></dt> |
| <dt><code>HEAPSIZE</code> <var>number-reserve</var> <code>[, </code> <var>number-commit</var> <code>]</code></dt> |
| <dd><p>Generates <code>--stack</code> or <code>--heap</code> |
| <var>number-reserve</var>,<var>number-commit</var> in the output <code>.drectve</code> |
| section. The linker will see this and act upon it. |
| </p> |
| </dd> |
| <dt><code>CODE</code> <var>attr</var> <code>+</code></dt> |
| <dt><code>DATA</code> <var>attr</var> <code>+</code></dt> |
| <dt><code>SECTIONS (</code> <var>section-name</var> <var>attr</var><code> + ) *</code></dt> |
| <dd><p>Generates <code>--attr</code> <var>section-name</var> <var>attr</var> in the output |
| <code>.drectve</code> section, where <var>attr</var> is one of <code>READ</code>, |
| <code>WRITE</code>, <code>EXECUTE</code> or <code>SHARED</code>. The linker will see |
| this and act upon it. |
| </p> |
| </dd> |
| </dl> |
| |
| |
| <hr> |
| <div class="header"> |
| <p> |
| Up: <a href="dlltool.html#dlltool" accesskey="u" rel="up">dlltool</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Binutils-Index.html#Binutils-Index" title="Index" rel="index">Index</a>]</p> |
| </div> |
| |
| |
| |
| </body> |
| </html> |