apitest.html
来自「perl教程」· HTML 代码 · 共 266 行
HTML
266 行
<?xml version="1.0" ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<!-- saved from url=(0017)http://localhost/ -->
<script language="JavaScript" src="../../displayToc.js"></script>
<script language="JavaScript" src="../../tocParas.js"></script>
<script language="JavaScript" src="../../tocTab.js"></script>
<link rel="stylesheet" type="text/css" href="../../scineplex.css">
<title>XS::APItest - Test the perl C API</title>
<link rel="stylesheet" href="../../Active.css" type="text/css" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:" />
</head>
<body>
<script>writelinks('__top__',2);</script>
<h1><a>XS::APItest - Test the perl C API</a></h1>
<p><a name="__index__"></a></p>
<!-- INDEX BEGIN -->
<ul>
<li><a href="#name">NAME</a></li>
<li><a href="#synopsis">SYNOPSIS</a></li>
<li><a href="#abstract">ABSTRACT</a></li>
<li><a href="#description">DESCRIPTION</a></li>
<ul>
<li><a href="#export">EXPORT</a></li>
</ul>
<li><a href="#see_also">SEE ALSO</a></li>
<li><a href="#authors">AUTHORS</a></li>
<li><a href="#copyright_and_license">COPYRIGHT AND LICENSE</a></li>
</ul>
<!-- INDEX END -->
<hr />
<p>
</p>
<h1><a name="name">NAME</a></h1>
<p>XS::APItest - Test the perl C API</p>
<p>
</p>
<hr />
<h1><a name="synopsis">SYNOPSIS</a></h1>
<pre>
<span class="keyword">use</span> <span class="variable">XS::APItest</span><span class="operator">;</span>
<span class="variable">print_double</span><span class="operator">(</span><span class="number">4</span><span class="operator">);</span>
</pre>
<p>
</p>
<hr />
<h1><a name="abstract">ABSTRACT</a></h1>
<p>This module tests the perl C API. Currently tests that <a href="../../lib/Pod/perlfunc.html#item_printf"><code>printf</code></a>
works correctly.</p>
<p>
</p>
<hr />
<h1><a name="description">DESCRIPTION</a></h1>
<p>This module can be used to check that the perl C API is behaving
correctly. This module provides test functions and an associated
test script that verifies the output.</p>
<p>This module is not meant to be installed.</p>
<p>
</p>
<h2><a name="export">EXPORT</a></h2>
<p>Exports all the test functions:</p>
<dl>
<dt><strong><a name="item_print_double"><strong>print_double</strong></a></strong>
<dd>
<p>Test that a double-precision floating point number is formatted
correctly by <a href="../../lib/Pod/perlfunc.html#item_printf"><code>printf</code></a>.</p>
</dd>
<dd>
<pre>
<span class="variable">print_double</span><span class="operator">(</span> <span class="variable">$val</span> <span class="operator">);</span>
</pre>
</dd>
<dd>
<p>Output is sent to STDOUT.</p>
</dd>
</li>
<dt><strong><a name="item_print_long_double"><strong>print_long_double</strong></a></strong>
<dd>
<p>Test that a <code>long double</code> is formatted correctly by
<a href="../../lib/Pod/perlfunc.html#item_printf"><code>printf</code></a>. Takes no arguments - the test value is hard-wired
into the function (as "7").</p>
</dd>
<dd>
<pre>
<span class="variable">print_long_double</span><span class="operator">();</span>
</pre>
</dd>
<dd>
<p>Output is sent to STDOUT.</p>
</dd>
</li>
<dt><strong><a name="item_have_long_double"><strong>have_long_double</strong></a></strong>
<dd>
<p>Determine whether a <code>long double</code> is supported by Perl. This should
be used to determine whether to test <a href="#item_print_long_double"><code>print_long_double</code></a>.</p>
</dd>
<dd>
<pre>
<span class="variable">print_long_double</span><span class="operator">()</span> <span class="keyword">if</span> <span class="variable">have_long_double</span><span class="operator">;</span>
</pre>
</dd>
</li>
<dt><strong><a name="item_print_nv"><strong>print_nv</strong></a></strong>
<dd>
<p>Test that an <code>NV</code> is formatted correctly by
<a href="../../lib/Pod/perlfunc.html#item_printf"><code>printf</code></a>.</p>
</dd>
<dd>
<pre>
<span class="variable">print_nv</span><span class="operator">(</span> <span class="variable">$val</span> <span class="operator">);</span>
</pre>
</dd>
<dd>
<p>Output is sent to STDOUT.</p>
</dd>
</li>
<dt><strong><a name="item_print_iv"><strong>print_iv</strong></a></strong>
<dd>
<p>Test that an <code>IV</code> is formatted correctly by
<a href="../../lib/Pod/perlfunc.html#item_printf"><code>printf</code></a>.</p>
</dd>
<dd>
<pre>
<span class="variable">print_iv</span><span class="operator">(</span> <span class="variable">$val</span> <span class="operator">);</span>
</pre>
</dd>
<dd>
<p>Output is sent to STDOUT.</p>
</dd>
</li>
<dt><strong><a name="item_print_uv"><strong>print_uv</strong></a></strong>
<dd>
<p>Test that an <code>UV</code> is formatted correctly by
<a href="../../lib/Pod/perlfunc.html#item_printf"><code>printf</code></a>.</p>
</dd>
<dd>
<pre>
<span class="variable">print_uv</span><span class="operator">(</span> <span class="variable">$val</span> <span class="operator">);</span>
</pre>
</dd>
<dd>
<p>Output is sent to STDOUT.</p>
</dd>
</li>
<dt><strong><a name="item_print_int"><strong>print_int</strong></a></strong>
<dd>
<p>Test that an <a href="../../lib/Pod/perlfunc.html#item_int"><code>int</code></a> is formatted correctly by
<a href="../../lib/Pod/perlfunc.html#item_printf"><code>printf</code></a>.</p>
</dd>
<dd>
<pre>
<span class="variable">print_int</span><span class="operator">(</span> <span class="variable">$val</span> <span class="operator">);</span>
</pre>
</dd>
<dd>
<p>Output is sent to STDOUT.</p>
</dd>
</li>
<dt><strong><a name="item_print_long"><strong>print_long</strong></a></strong>
<dd>
<p>Test that an <code>long</code> is formatted correctly by
<a href="../../lib/Pod/perlfunc.html#item_printf"><code>printf</code></a>.</p>
</dd>
<dd>
<pre>
<span class="variable">print_long</span><span class="operator">(</span> <span class="variable">$val</span> <span class="operator">);</span>
</pre>
</dd>
<dd>
<p>Output is sent to STDOUT.</p>
</dd>
</li>
<dt><strong><a name="item_print_float"><strong>print_float</strong></a></strong>
<dd>
<p>Test that a single-precision floating point number is formatted
correctly by <a href="../../lib/Pod/perlfunc.html#item_printf"><code>printf</code></a>.</p>
</dd>
<dd>
<pre>
<span class="variable">print_float</span><span class="operator">(</span> <span class="variable">$val</span> <span class="operator">);</span>
</pre>
</dd>
<dd>
<p>Output is sent to STDOUT.</p>
</dd>
</li>
<dt><strong><a name="item_call_sv_2c_call_pv_2c_call_method"><strong>call_sv</strong>, <strong>call_pv</strong>, <strong>call_method</strong></a></strong>
<dd>
<p>These exercise the C calls of the same names. Everything after the flags
arg is passed as the the args to the called function. They return whatever
the C function itself pushed onto the stack, plus the return value from
the function; for example</p>
</dd>
<dd>
<pre>
<span class="variable">call_sv</span><span class="operator">(</span> <span class="keyword">sub</span><span class="variable"> </span><span class="operator">{</span> <span class="variable">@_</span><span class="operator">,</span> <span class="string">'c'</span> <span class="operator">},</span> <span class="variable">G_ARRAY</span><span class="operator">,</span> <span class="string">'a'</span><span class="operator">,</span> <span class="string">'b'</span><span class="operator">);</span> <span class="comment"># returns 'a', 'b', 'c', 3</span>
<span class="variable">call_sv</span><span class="operator">(</span> <span class="keyword">sub</span><span class="variable"> </span><span class="operator">{</span> <span class="variable">@_</span> <span class="operator">},</span> <span class="variable">G_SCALAR</span><span class="operator">,</span> <span class="string">'a'</span><span class="operator">,</span> <span class="string">'b'</span><span class="operator">);</span> <span class="comment"># returns 'b', 1</span>
</pre>
</dd>
</li>
<dt><strong><a name="item_eval_sv"><strong>eval_sv</strong></a></strong>
<dd>
<p>Evaluates the passed SV. Result handling is done the same as for
<code>call_sv()</code> etc.</p>
</dd>
</li>
<dt><strong><a name="item_eval_pv"><strong>eval_pv</strong></a></strong>
<dd>
<p>Exercises the C function of the same name in scalar context. Returns the
same SV that the C function returns.</p>
</dd>
</li>
<dt><strong><a name="item_require_pv"><strong>require_pv</strong></a></strong>
<dd>
<p>Exercises the C function of the same name. Returns nothing.</p>
</dd>
</li>
</dl>
<p>
</p>
<hr />
<h1><a name="see_also">SEE ALSO</a></h1>
<p><a href="../../lib/XS/Typemap.html">the XS::Typemap manpage</a>, <a href="../../lib/Pod/perlapi.html">the perlapi manpage</a>.</p>
<p>
</p>
<hr />
<h1><a name="authors">AUTHORS</a></h1>
<p>Tim Jenness, <<a href="mailto:t.jenness@jach.hawaii.edu">t.jenness@jach.hawaii.edu</a>>,
Christian Soeller, <<a href="mailto:csoelle@mph.auckland.ac.nz">csoelle@mph.auckland.ac.nz</a>>,
Hugo van der Sanden <<a href="mailto:hv@crypt.compulink.co.uk">hv@crypt.compulink.co.uk</a>></p>
<p>
</p>
<hr />
<h1><a name="copyright_and_license">COPYRIGHT AND LICENSE</a></h1>
<p>Copyright (C) 2002,2004 Tim Jenness, Christian Soeller, Hugo van der Sanden.
All Rights Reserved.</p>
<p>This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.</p>
</body>
</html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?