The great merge

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4141 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Dave Beazley 2002-11-30 22:01:28 +00:00
commit 516036631c
5 changed files with 125431 additions and 43485 deletions

View file

@ -0,0 +1,9 @@
*_wrap.c
*_wrap.cxx
*.dll
*.dsw
*.ncb
*.opt
*.plg
Release
Debug

View file

@ -13,6 +13,7 @@ static::
TARGET='mypython' INTERFACE='$(INTERFACE)' python_static
clean::
rm -f *_wrap* *.o *~ *.so mypython *.pyc .~* core
$(MAKE) -f $(TOP)/Makefile python_clean
rm -f $(TARGET).py
check: all

View file

@ -15,3 +15,5 @@ int sub(int a, int b) {
int mul(int a, int b) {
return a*b;
}
int (*funcvar)(int,int) = add;

View file

@ -8,8 +8,9 @@
extern int do_op(int a, int b, int (*op)(int, int));
/* Now install a bunch of "ops" as constants */
%constant(int (*)(int,int)) ADD = add;
%constant(int (*)(int,int)) SUB = sub;
%constant(int (*)(int,int)) MUL = mul;
%constant int (*ADD)(int,int) = add;
%constant int (*SUB)(int,int) = sub;
%constant int (*MUL)(int,int) = mul;
extern int (*funcvar)(int,int);

View file

@ -0,0 +1,20 @@
# file: example.py
import example
a = 37
b = 42
# Now call our C function with a bunch of callbacks
print "Trying some C callback functions"
print " a =", a
print " b =", b
print " ADD(a,b) =", example.do_op(a,b,example.ADD)
print " SUB(a,b) =", example.do_op(a,b,example.SUB)
print " MUL(a,b) =", example.do_op(a,b,example.MUL)
print "Here is what the C callback function objects look like in Python"
print " ADD =", example.ADD
print " SUB =", example.SUB
print " MUL =", example.MUL