Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > cd14cddf3b3ceaf1193157472227757a > files > 112

parrot-doc-1.6.0-1mdv2010.0.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Parrot  - Notes on the PARROT_EXPORT macro</title>
        <link rel="stylesheet" type="text/css"
            href="../../../resources/parrot.css"
            media="all">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    </head>
    <body>
        <div id="wrapper">
            <div id="header">

                <a href="http://www.parrot.org">
                <img border=0 src="../../../resources/parrot_logo.png" id="logo" alt="parrot">
                </a>
            </div> <!-- "header" -->
            <div id="divider"></div>
            <div id="mainbody">
                <div id="breadcrumb">
                    <a href="../../../html/index.html">Home</a> &raquo; <a href="../../../html/developer.html">Developer Documentation</a> &raquo; Notes on the PARROT_EXPORT macro
                </div>

<h1><a name="NAME"
>NAME</a></h1>

<p>docs/dev/parrot_api.pod &#45; Notes on the PARROT_EXPORT macro</p>

<h1><a name="OVERVIEW"
>OVERVIEW</a></h1>

<p>Some compilers and platforms export all symbols either by default or through a switch.
Others have no such mechanism and either need a list of symbols to export or need the symbols annotating in the source.</p>

<p>The <code>PARROT_EXPORT</code> macro exists for the purpose of annotating symbols that should be exported.
One day,
it may be used to express which functions are in the Parrot extension API and which are not.
For now it should be used to mark anything that will be used by a shared library or by the main Parrot executable when Parrot is built as a shared library.</p>

<h1><a name="USAGE_NOTES"
>USAGE NOTES</a></h1>

<p>Incorrect usage of <code>PARROT_EXPORT</code> can break the build on some platforms,
especially Win32.
The rules for how to use it are as follows.</p>

<dl>
<dt><a
>If you decorate a function with <b><code>PARROT_EXPORT</b></code> in a .c file,
you must also decorate the symbol with <b><code>PARROT_EXPORT</b></code> in all .h files that mention it.</a></dt>

<dt><a
>If the symbol appears in more than one header file,
all of them must have <b><code>PARROT_EXPORT</b></code> or none of them should.
Some with and some without won&#39;t work.</a></dt>
</dl>

<p># vim: expandtab shiftwidth=2 tw=70:</p>
            </div> <!-- "mainbody" -->
            <div id="divider"></div>
            <div id="footer">
	        Copyright &copy; 2002-2009, Parrot Foundation.
            </div>
        </div> <!-- "wrapper" -->
    </body>
</html>