new example
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@806 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
8de39d83cb
commit
5a766aa9a1
6 changed files with 273 additions and 0 deletions
42
Examples/perl5/pointer/example.pl
Normal file
42
Examples/perl5/pointer/example.pl
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
# file: example.pl
|
||||
|
||||
use example;
|
||||
|
||||
# First create some objects using the pointer library.
|
||||
print "Testing the pointer library\n";
|
||||
$a = example::ptrcreate("int",37);
|
||||
$b = example::ptrcreate("int",42);
|
||||
$c = example::ptrcreate("int");
|
||||
|
||||
print " a = $a\n";
|
||||
print " b = $b\n";
|
||||
print " c = $c\n";
|
||||
|
||||
# Call the add() function with some pointers
|
||||
example::add($a,$b,$c);
|
||||
|
||||
# Now get the result
|
||||
$r = example::ptrvalue($c);
|
||||
print " 37 + 42 = $r\n";
|
||||
|
||||
# Clean up the pointers
|
||||
example::ptrfree($a);
|
||||
example::ptrfree($b);
|
||||
example::ptrfree($c);
|
||||
|
||||
# Now try the typemap library
|
||||
# This should be much easier. Now how it is no longer
|
||||
# necessary to manufacture pointers.
|
||||
|
||||
print "Trying the typemap library\n";
|
||||
$r = example::sub(37,42);
|
||||
print " 37 - 42 = $r\n";
|
||||
|
||||
# Now try the version with multiple return values
|
||||
|
||||
print "Testing multiple return values\n";
|
||||
($q,$r) = example::divide(42,37);
|
||||
print " 42/37 = $q remainder $r\n";
|
||||
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue