diff options
Diffstat (limited to 'Doc/Manual/Perl5.html')
-rw-r--r-- | Doc/Manual/Perl5.html | 108 |
1 files changed, 54 insertions, 54 deletions
diff --git a/Doc/Manual/Perl5.html b/Doc/Manual/Perl5.html index 010eb48df..8bc7cbfd3 100644 --- a/Doc/Manual/Perl5.html +++ b/Doc/Manual/Perl5.html @@ -6,7 +6,7 @@ </head> <body bgcolor="#ffffff"> -<H1><a name="Perl5"></a>32 SWIG and Perl5</H1> +<H1><a name="Perl5"></a>33 SWIG and Perl5</H1> <!-- INDEX --> <div class="sectiontoc"> <ul> @@ -96,7 +96,7 @@ later. We're no longer testing regularly with older versions, but Perl 5.6 seems to mostly work, while older versions don't. </p> -<H2><a name="Perl5_nn2"></a>32.1 Overview</H2> +<H2><a name="Perl5_nn2"></a>33.1 Overview</H2> <p> @@ -117,7 +117,7 @@ described. Advanced customization features, typemaps, and other options are found near the end of the chapter. </p> -<H2><a name="Perl5_nn3"></a>32.2 Preliminaries</H2> +<H2><a name="Perl5_nn3"></a>33.2 Preliminaries</H2> <p> @@ -142,7 +142,7 @@ To build the module, you will need to compile the file <tt>example_wrap.c</tt> and link it with the rest of your program. </p> -<H3><a name="Perl5_nn4"></a>32.2.1 Getting the right header files</H3> +<H3><a name="Perl5_nn4"></a>33.2.1 Getting the right header files</H3> <p> @@ -174,7 +174,7 @@ $ perl -e 'use Config; print "$Config{archlib}\n";' </pre> </div> -<H3><a name="Perl5_nn5"></a>32.2.2 Compiling a dynamic module</H3> +<H3><a name="Perl5_nn5"></a>33.2.2 Compiling a dynamic module</H3> <p> @@ -207,7 +207,7 @@ the target should be named `<tt>example.so</tt>', `<tt>example.sl</tt>', or the appropriate dynamic module name on your system. </p> -<H3><a name="Perl5_nn6"></a>32.2.3 Building a dynamic module with MakeMaker</H3> +<H3><a name="Perl5_nn6"></a>33.2.3 Building a dynamic module with MakeMaker</H3> <p> @@ -241,7 +241,7 @@ the preferred approach to compilation. More information about MakeMaker can be found in "Programming Perl, 2nd ed." by Larry Wall, Tom Christiansen, and Randal Schwartz.</p> -<H3><a name="Perl5_nn7"></a>32.2.4 Building a static version of Perl</H3> +<H3><a name="Perl5_nn7"></a>33.2.4 Building a static version of Perl</H3> <p> @@ -310,7 +310,7 @@ added to it. Depending on your machine, you may need to link with additional libraries such as <tt>-lsocket, -lnsl, -ldl</tt>, etc. </p> -<H3><a name="Perl5_nn8"></a>32.2.5 Using the module</H3> +<H3><a name="Perl5_nn8"></a>33.2.5 Using the module</H3> <p> @@ -463,7 +463,7 @@ system configuration (this requires root access and you will need to read the man pages). </p> -<H3><a name="Perl5_nn9"></a>32.2.6 Compilation problems and compiling with C++</H3> +<H3><a name="Perl5_nn9"></a>33.2.6 Compilation problems and compiling with C++</H3> <p> @@ -606,7 +606,7 @@ have to find the macro that conflicts and add an #undef into the .i file. Pleas any conflicting macros you find to <a href="http://www.swig.org/mail.html">swig-user mailing list</a>. </p> -<H3><a name="Perl5_nn10"></a>32.2.7 Compiling for 64-bit platforms</H3> +<H3><a name="Perl5_nn10"></a>33.2.7 Compiling for 64-bit platforms</H3> <p> @@ -633,7 +633,7 @@ also introduce problems on platforms that support more than one linking standard (e.g., -o32 and -n32 on Irix). </p> -<H2><a name="Perl5_nn11"></a>32.3 Building Perl Extensions under Windows</H2> +<H2><a name="Perl5_nn11"></a>33.3 Building Perl Extensions under Windows</H2> <p> @@ -644,7 +644,7 @@ section assumes you are using SWIG with Microsoft Visual C++ although the procedure may be similar with other compilers. </p> -<H3><a name="Perl5_nn12"></a>32.3.1 Running SWIG from Developer Studio</H3> +<H3><a name="Perl5_nn12"></a>33.3.1 Running SWIG from Developer Studio</H3> <p> @@ -707,7 +707,7 @@ print "$a\n"; </pre></div> -<H3><a name="Perl5_nn13"></a>32.3.2 Using other compilers</H3> +<H3><a name="Perl5_nn13"></a>33.3.2 Using other compilers</H3> <p> @@ -715,7 +715,7 @@ SWIG is known to work with Cygwin and may work with other compilers on Windows. For general hints and suggestions refer to the <a href="Windows.html#Windows">Windows</a> chapter. </p> -<H2><a name="Perl5_nn14"></a>32.4 The low-level interface</H2> +<H2><a name="Perl5_nn14"></a>33.4 The low-level interface</H2> <p> @@ -725,7 +725,7 @@ can be used to control your application. However, it is also used to construct more user-friendly proxy classes as described in the next section. </p> -<H3><a name="Perl5_nn15"></a>32.4.1 Functions</H3> +<H3><a name="Perl5_nn15"></a>33.4.1 Functions</H3> <p> @@ -748,7 +748,7 @@ use example; $a = &example::fact(2); </pre></div> -<H3><a name="Perl5_nn16"></a>32.4.2 Global variables</H3> +<H3><a name="Perl5_nn16"></a>33.4.2 Global variables</H3> <p> @@ -818,7 +818,7 @@ extern char *path; // Declared later in the input </pre> </div> -<H3><a name="Perl5_nn17"></a>32.4.3 Constants</H3> +<H3><a name="Perl5_nn17"></a>33.4.3 Constants</H3> <p> @@ -858,7 +858,7 @@ print example::FOO,"\n"; </pre> </div> -<H3><a name="Perl5_nn18"></a>32.4.4 Pointers</H3> +<H3><a name="Perl5_nn18"></a>33.4.4 Pointers</H3> <p> @@ -967,7 +967,7 @@ as XS and <tt>xsubpp</tt>. Given the advancement of the SWIG typesystem and the SWIG and XS, this is no longer supported. </p> -<H3><a name="Perl5_nn19"></a>32.4.5 Structures</H3> +<H3><a name="Perl5_nn19"></a>33.4.5 Structures</H3> <p> @@ -1101,7 +1101,7 @@ void Bar_f_set(Bar *b, Foo *val) { </div> -<H3><a name="Perl5_nn20"></a>32.4.6 C++ classes</H3> +<H3><a name="Perl5_nn20"></a>33.4.6 C++ classes</H3> <p> @@ -1166,7 +1166,7 @@ provides direct access to C++ objects. A higher level interface using Perl prox can be built using these low-level accessors. This is described shortly. </p> -<H3><a name="Perl5_nn21"></a>32.4.7 C++ classes and type-checking</H3> +<H3><a name="Perl5_nn21"></a>33.4.7 C++ classes and type-checking</H3> <p> @@ -1202,7 +1202,7 @@ If necessary, the type-checker also adjusts the value of the pointer (as is nece multiple inheritance is used). </p> -<H3><a name="Perl5_nn22"></a>32.4.8 C++ overloaded functions</H3> +<H3><a name="Perl5_nn22"></a>33.4.8 C++ overloaded functions</H3> <p> @@ -1246,7 +1246,7 @@ example::Spam_foo_d($s,3.14); Please refer to the "SWIG Basics" chapter for more information. </p> -<H3><a name="Perl5_nn23"></a>32.4.9 Operators</H3> +<H3><a name="Perl5_nn23"></a>33.4.9 Operators</H3> <p> @@ -1273,7 +1273,7 @@ The following C++ operators are currently supported by the Perl module: <li>operator or </li> </ul> -<H3><a name="Perl5_nn24"></a>32.4.10 Modules and packages</H3> +<H3><a name="Perl5_nn24"></a>33.4.10 Modules and packages</H3> <p> @@ -1368,7 +1368,7 @@ print Foo::fact(4),"\n"; # Call a function in package FooBar </pre></div> --> -<H2><a name="Perl5_nn25"></a>32.5 Input and output parameters</H2> +<H2><a name="Perl5_nn25"></a>33.5 Input and output parameters</H2> <p> @@ -1587,7 +1587,7 @@ print "$c\n"; <b>Note:</b> The <tt>REFERENCE</tt> feature is only currently supported for numeric types (integers and floating point). </p> -<H2><a name="Perl5_nn26"></a>32.6 Exception handling</H2> +<H2><a name="Perl5_nn26"></a>33.6 Exception handling</H2> <p> @@ -1752,7 +1752,7 @@ This is still supported, but it is deprecated. The newer <tt>%exception</tt> di functionality, but it has additional capabilities that make it more powerful. </p> -<H2><a name="Perl5_nn27"></a>32.7 Remapping datatypes with typemaps</H2> +<H2><a name="Perl5_nn27"></a>33.7 Remapping datatypes with typemaps</H2> <p> @@ -1769,7 +1769,7 @@ Typemaps are only used if you want to change some aspect of the primitive C-Perl interface. </p> -<H3><a name="Perl5_nn28"></a>32.7.1 A simple typemap example</H3> +<H3><a name="Perl5_nn28"></a>33.7.1 A simple typemap example</H3> <p> @@ -1873,7 +1873,7 @@ example::count("e","Hello World"); </div> -<H3><a name="Perl5_nn29"></a>32.7.2 Perl5 typemaps</H3> +<H3><a name="Perl5_nn29"></a>33.7.2 Perl5 typemaps</H3> <p> @@ -1978,7 +1978,7 @@ Return of C++ member data (all languages). Check value of input parameter. </div> -<H3><a name="Perl5_nn30"></a>32.7.3 Typemap variables</H3> +<H3><a name="Perl5_nn30"></a>33.7.3 Typemap variables</H3> <p> @@ -2049,7 +2049,7 @@ properly assigned. The Perl name of the wrapper function being created. </div> -<H3><a name="Perl5_nn31"></a>32.7.4 Useful functions</H3> +<H3><a name="Perl5_nn31"></a>33.7.4 Useful functions</H3> <p> @@ -2118,7 +2118,7 @@ int sv_isa(SV *, char *0; </div> -<H2><a name="Perl5_nn32"></a>32.8 Typemap Examples</H2> +<H2><a name="Perl5_nn32"></a>33.8 Typemap Examples</H2> <p> @@ -2127,7 +2127,7 @@ might look at the files "<tt>perl5.swg</tt>" and "<tt>typemaps.i</tt>" in the SWIG library. </p> -<H3><a name="Perl5_nn33"></a>32.8.1 Converting a Perl5 array to a char **</H3> +<H3><a name="Perl5_nn33"></a>33.8.1 Converting a Perl5 array to a char **</H3> <p> @@ -2219,7 +2219,7 @@ print @$b,"\n"; # Print it out </pre></div> -<H3><a name="Perl5_nn34"></a>32.8.2 Return values</H3> +<H3><a name="Perl5_nn34"></a>33.8.2 Return values</H3> <p> @@ -2248,7 +2248,7 @@ can be done using the <tt>EXTEND()</tt> macro as in: } </pre></div> -<H3><a name="Perl5_nn35"></a>32.8.3 Returning values from arguments</H3> +<H3><a name="Perl5_nn35"></a>33.8.3 Returning values from arguments</H3> <p> @@ -2302,7 +2302,7 @@ print "multout(7,13) = @r\n"; ($x,$y) = multout(7,13); </pre></div> -<H3><a name="Perl5_nn36"></a>32.8.4 Accessing array structure members</H3> +<H3><a name="Perl5_nn36"></a>33.8.4 Accessing array structure members</H3> <p> @@ -2365,7 +2365,7 @@ the "in" typemap in the previous section would be used to convert an to copy the converted array into a C data structure. </p> -<H3><a name="Perl5_nn37"></a>32.8.5 Turning Perl references into C pointers</H3> +<H3><a name="Perl5_nn37"></a>33.8.5 Turning Perl references into C pointers</H3> <p> @@ -2430,7 +2430,7 @@ print "$c\n"; </pre></div> -<H3><a name="Perl5_nn38"></a>32.8.6 Pointer handling</H3> +<H3><a name="Perl5_nn38"></a>33.8.6 Pointer handling</H3> <p> @@ -2509,7 +2509,7 @@ For example: </pre> </div> -<H2><a name="Perl5_nn39"></a>32.9 Proxy classes</H2> +<H2><a name="Perl5_nn39"></a>33.9 Proxy classes</H2> <p> @@ -2525,7 +2525,7 @@ to the underlying code. This section describes the implementation details of the proxy interface. </p> -<H3><a name="Perl5_nn40"></a>32.9.1 Preliminaries</H3> +<H3><a name="Perl5_nn40"></a>33.9.1 Preliminaries</H3> <p> @@ -2547,7 +2547,7 @@ SWIG creates a collection of high-level Perl wrappers. In your scripts, you wil high level wrappers. The wrappers, in turn, interact with the low-level procedural module. </p> -<H3><a name="Perl5_nn41"></a>32.9.2 Structure and class wrappers</H3> +<H3><a name="Perl5_nn41"></a>33.9.2 Structure and class wrappers</H3> <p> @@ -2673,7 +2673,7 @@ $v->DESTROY(); </pre></div> -<H3><a name="Perl5_nn42"></a>32.9.3 Object Ownership</H3> +<H3><a name="Perl5_nn42"></a>33.9.3 Object Ownership</H3> <p> @@ -2760,7 +2760,7 @@ counting, garbage collection, or advanced features one might find in sophisticated languages. </p> -<H3><a name="Perl5_nn43"></a>32.9.4 Nested Objects</H3> +<H3><a name="Perl5_nn43"></a>33.9.4 Nested Objects</H3> <p> @@ -2813,7 +2813,7 @@ $p->{f}->{x} = 0.0; %${$p->{v}} = ( x=>0, y=>0, z=>0); </pre></div> -<H3><a name="Perl5_nn44"></a>32.9.5 Proxy Functions</H3> +<H3><a name="Perl5_nn44"></a>33.9.5 Proxy Functions</H3> <p> @@ -2847,7 +2847,7 @@ This function replaces the original function, but operates in an identical manner. </p> -<H3><a name="Perl5_nn45"></a>32.9.6 Inheritance</H3> +<H3><a name="Perl5_nn45"></a>33.9.6 Inheritance</H3> <p> @@ -2923,7 +2923,7 @@ particular, inheritance of data members is extremely tricky (and I'm not even sure if it really works). </p> -<H3><a name="Perl5_nn46"></a>32.9.7 Modifying the proxy methods</H3> +<H3><a name="Perl5_nn46"></a>33.9.7 Modifying the proxy methods</H3> <p> @@ -2951,7 +2951,7 @@ public: }; </pre></div> -<H2><a name="Perl5_nn47"></a>32.10 Adding additional Perl code</H2> +<H2><a name="Perl5_nn47"></a>33.10 Adding additional Perl code</H2> <p> @@ -3002,7 +3002,7 @@ set_transform($im, $a); </pre> </div> -<H2><a name="Perl5_directors"></a>32.11 Cross language polymorphism</H2> +<H2><a name="Perl5_directors"></a>33.11 Cross language polymorphism</H2> <p> @@ -3036,7 +3036,7 @@ proxy classes, director classes, and C wrapper functions takes care of all the cross-language method routing transparently. </p> -<H3><a name="Perl5_nn48"></a>32.11.1 Enabling directors</H3> +<H3><a name="Perl5_nn48"></a>33.11.1 Enabling directors</H3> <p> @@ -3126,7 +3126,7 @@ sub one { </div> -<H3><a name="Perl5_nn49"></a>32.11.2 Director classes</H3> +<H3><a name="Perl5_nn49"></a>33.11.2 Director classes</H3> @@ -3206,7 +3206,7 @@ so there is no need for the extra overhead involved with routing the calls through Perl. </p> -<H3><a name="Perl5_nn50"></a>32.11.3 Ownership and object destruction</H3> +<H3><a name="Perl5_nn50"></a>33.11.3 Ownership and object destruction</H3> <p> @@ -3255,7 +3255,7 @@ sub DESTROY { </div> -<H3><a name="Perl5_nn51"></a>32.11.4 Exception unrolling</H3> +<H3><a name="Perl5_nn51"></a>33.11.4 Exception unrolling</H3> <p> @@ -3311,7 +3311,7 @@ Swig::DirectorMethodException is thrown, Perl will register the exception as soon as the C wrapper function returns. </p> -<H3><a name="Perl5_nn52"></a>32.11.5 Overhead and code bloat</H3> +<H3><a name="Perl5_nn52"></a>33.11.5 Overhead and code bloat</H3> <p> @@ -3345,7 +3345,7 @@ directive) for only those methods that are likely to be extended in Perl. </p> -<H3><a name="Perl5_nn53"></a>32.11.6 Typemaps</H3> +<H3><a name="Perl5_nn53"></a>33.11.6 Typemaps</H3> <p> |