Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > by-pkgid > 965e33040dd61030a94f0eb89877aee8 > files > 844

howto-html-en-20080722-2mdv2010.1.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML
><HEAD
><TITLE
>Introduction</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="HOME"
TITLE="C++ dlopen mini HOWTO"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="C++ dlopen mini HOWTO"
HREF="index.html"><LINK
REL="NEXT"
TITLE="The Problem"
HREF="theproblem.html"></HEAD
><BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>C++ dlopen mini HOWTO</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="index.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="theproblem.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="intro"
></A
>1. Introduction</H1
><P
>&#13;      A question which frequently arises among Unix C++ programmers is
      how to load C++ functions and classes dynamically using the
      <TT
CLASS="function"
>dlopen</TT
> API.
    </P
><P
>In fact, that is not always simple and needs some
      explanation.  That's what this mini HOWTO does.</P
><P
>An average understanding of the <SPAN
CLASS="systemitem"
>C</SPAN
>
      and <SPAN
CLASS="systemitem"
>C++</SPAN
> programming language and of the
      <TT
CLASS="function"
>dlopen</TT
> API is necessary to understand this
      document.</P
><P
>This HOWTO's master location is <A
HREF="http://www.isotton.com/howtos/C++-dlopen-mini-HOWTO/"
TARGET="_top"
>http://www.isotton.com/howtos/C++-dlopen-mini-HOWTO/</A
>.</P
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="copyright"
></A
>1.1. Copyright and License</H2
><P
>This document, <EM
>C++ dlopen mini HOWTO</EM
>, is
	  copyrighted (c) 2002-2006 by <EM
>Aaron Isotton</EM
>.
	  Permission is granted to copy, distribute and/or modify this
	  document under the terms of the GNU General Public License, Version
	  2, as published by the Free Software Foundation.</P
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="disclaimer"
></A
>1.2. Disclaimer</H2
><P
>&#13;        No liability for the contents of this document can be
        accepted.  Use the concepts, examples and information at your
        own risk.  There may be errors and inaccuracies, that could be
        damaging to your system.  Proceed with caution, and although
        this is highly unlikely, the author(s) do not take any
        responsibility.
      </P
><P
>&#13;        All copyrights are held by their by their respective owners,
        unless specifically noted otherwise.  Use of a term in this
        document should not be regarded as affecting the validity of
        any trademark or service mark.  Naming of particular products
        or brands should not be seen as endorsements.
      </P
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="credits"
></A
>1.3. Credits / Contributors</H2
><P
>&#13;        In this document, I have the pleasure of acknowledging (in
        alphabetic order):
      </P
><P
></P
><UL
><LI
><P
>Joy Y Goodreau <TT
CLASS="email"
>&#60;<A
HREF="mailto:joyg (at) us.ibm.com"
>joyg (at) us.ibm.com</A
>&#62;</TT
> for
            her editing.</P
></LI
><LI
><P
>D. Stimitis <TT
CLASS="email"
>&#60;<A
HREF="mailto:stimitis (at) idcomm.com"
>stimitis (at) idcomm.com</A
>&#62;</TT
>
            for pointing out a few issues with the formatting and the
            name mangling, as well as pointing out a few subtleties of
	    <TT
CLASS="literal"
>extern "C"</TT
>.</P
><P
>Many unnamed others pointing out errors or giving tips to
	    improve this howto. You know who you are!</P
></LI
></UL
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="feedback"
></A
>1.4. Feedback</H2
><P
>&#13;        Feedback is most certainly welcome for this document. Send
        your additions, comments and criticisms to the following email
        address: <TT
CLASS="email"
>&#60;<A
HREF="mailto:aaron@isotton.com"
>aaron@isotton.com</A
>&#62;</TT
>.
      </P
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="AEN91"
></A
>1.5. Terms Used in this Document</H2
><P
></P
><DIV
CLASS="variablelist"
><DL
><DT
><TT
CLASS="function"
>dlopen</TT
> API</DT
><DD
><P
>The <TT
CLASS="function"
>dlclose</TT
>,
              <TT
CLASS="function"
>dlerror</TT
>,
              <TT
CLASS="function"
>dlopen</TT
> and
              <TT
CLASS="function"
>dlsym</TT
> functions as described in the
              <TT
CLASS="literal"
>dlopen(3)</TT
> man page.</P
><P
>Notice that we use
              <SPAN
CLASS="QUOTE"
>"<TT
CLASS="function"
>dlopen</TT
>"</SPAN
> to refer to
              the individual <TT
CLASS="function"
>dlopen</TT
>
              <EM
>function</EM
>, and
              <SPAN
CLASS="QUOTE"
>"<TT
CLASS="function"
>dlopen</TT
> API"</SPAN
> to refer
              to the <EM
>entire API</EM
>.</P
></DD
></DL
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="theproblem.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>C++ dlopen mini HOWTO</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>The Problem</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>