git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5651 626c5289-ae23-0410-ae9c-e8d60b6d4f22
47 lines
931 B
Tcl
47 lines
931 B
Tcl
# file: runme.tcl
|
|
|
|
catch { load ./example[info sharedlibextension] example}
|
|
|
|
# First create some objects using the pointer library.
|
|
puts "Testing the pointer library"
|
|
set a [new_intp]
|
|
set b [new_intp]
|
|
set c [new_intp] ;# Memory for result
|
|
|
|
intp_assign $a 37
|
|
intp_assign $b 42
|
|
|
|
puts " a = $a"
|
|
puts " b = $b"
|
|
puts " c = $c"
|
|
|
|
# Call the add() function with some pointers
|
|
add $a $b $c
|
|
|
|
# Now get the result
|
|
set r [intp_value $c]
|
|
puts " 37 + 42 = $r"
|
|
|
|
# Clean up the pointers
|
|
delete_intp $a
|
|
delete_intp $b
|
|
delete_intp $c
|
|
|
|
# Now try the typemap library
|
|
# This should be much easier. Now how it is no longer
|
|
# necessary to manufacture pointers.
|
|
|
|
puts "Trying the typemap library"
|
|
set r [sub 37 42]
|
|
puts " 37 - 42 = $r"
|
|
|
|
# Now try the version with multiple return values
|
|
|
|
puts "Testing multiple return values"
|
|
set qr [divide 42 37]
|
|
set q [lindex $qr 0]
|
|
set r [lindex $qr 1]
|
|
puts " 42/37 = $q remainder $r"
|
|
|
|
|
|
|