blob: fb1b0cc55881211a37b420818e3dec2499c89c2f [file] [log] [blame]
<html lang="en">
<head>
<title>def file format - GNU Binary Utilities</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="GNU Binary Utilities">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="dlltool.html#dlltool" title="dlltool">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
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''.
-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="def-file-format"></a>
<p>
Up:&nbsp;<a rel="up" accesskey="u" href="dlltool.html#dlltool">dlltool</a>
<hr>
</div>
<h3 class="section">14.1 The format of the <samp><span class="command">dlltool</span></samp> <samp><span class="file">.def</span></samp> file</h3>
<p>A <samp><span class="file">.def</span></samp> file contains any number of the following commands:
<dl>
<dt><code>NAME</code> <var>name</var> <code>[ ,</code> <var>base</var> <code>]</code><dd>The result is going to be named <var>name</var><code>.exe</code>.
<br><dt><code>LIBRARY</code> <var>name</var> <code>[ ,</code> <var>base</var> <code>]</code><dd>The result is going to be named <var>name</var><code>.dll</code>.
<br><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><br><dt><code>[</code> <var>integer</var> <code>] [ NONAME ] [ CONSTANT ] [ DATA ] [ PRIVATE ] ) *</code><dd>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>.
<br><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>) [ == ) </code><var>its_name</var><code> ] *</code><dd>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.
<br><dt><code>DESCRIPTION</code> <var>string</var><dd>Puts <var>string</var> into the output <samp><span class="file">.exp</span></samp> file in the
<code>.rdata</code> section.
<br><dt><code>STACKSIZE</code> <var>number-reserve</var> <code>[, </code> <var>number-commit</var> <code>]</code><br><dt><code>HEAPSIZE</code> <var>number-reserve</var> <code>[, </code> <var>number-commit</var> <code>]</code><dd>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.
<br><dt><code>CODE</code> <var>attr</var> <code>+</code><br><dt><code>DATA</code> <var>attr</var> <code>+</code><br><dt><code>SECTIONS (</code> <var>section-name</var> <var>attr</var><code> + ) *</code><dd>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.
</dl>
</body></html>