xsubpp - compiler to convert Perl XS code into C code


xsubpp [-v] [-C++] [-except] [-s pattern] [-prototypes] [-noversioncheck] [-nolinenumbers] [-typemap typemap] [-object_capi]... file.xs


xsubpp will compile XS code into C code by embedding the constructs necessary to let C functions manipulate Perl values and creates the glue necessary to let Perl access those functions. The compiler uses typemaps to determine how to map C function parameters and variables to Perl values.

The compiler will search for typemap files called typemap. It will use the following search path to find default typemaps, with the rightmost typemap taking precedence.




Adds ``extern ``C'''' to the C code.


Adds exception handling stubs to the C code.

-typemap typemap

Indicates that a user-supplied typemap should take precedence over the default typemaps. This option may be used multiple times, with the last typemap having the highest precedence.


Prints the xsubpp version number to standard output, then exits.


By default xsubpp will not automatically generate prototype code for all xsubs. This flag will enable prototypes.


Disables the run time test that determines if the object file (derived from the .xs file) and the .pm files have the same version number.


Prevents the inclusion of `#line' directives in the output.


Compile code as C in a PERL_OBJECT environment.



No environment variables are used.


Larry Wall


See the file changes.pod.


perl(1), perlxs(1), perlxstut(1)


We are painfully aware that these documents may contain incorrect links and misformatted HTML. Such bugs lie in the automatic translation process that automatically created the hundreds and hundreds of separate documents that you find here. Please do not report link or formatting bugs, because we cannot fix per-document problems. The only bug reports that will help us are those that supply working patches to the installhtml or pod2html programs, or to the Pod::HTML module itself, for which I and the entire Perl community will shower you with thanks and praises.

If rather than formatting bugs, you encounter substantive content errors in these documents, such as mistakes in the explanations or code, please use the perlbug utility included with the Perl distribution.

--Tom Christiansen, Perl Documentation Compiler and Editor

Return to the Perl Documentation Index.
Return to the Perl Home Page.