add the java example
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8183 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
898f60d079
commit
e484bb1721
6 changed files with 105 additions and 2 deletions
29
SWIG/Examples/perl5/java/Example.java
Normal file
29
SWIG/Examples/perl5/java/Example.java
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
public class Example {
|
||||
public int mPublicInt;
|
||||
|
||||
public Example() {
|
||||
mPublicInt = 0;
|
||||
}
|
||||
|
||||
public Example(int IntVal) {
|
||||
mPublicInt = IntVal;
|
||||
}
|
||||
|
||||
|
||||
public int Add(int a, int b) {
|
||||
return (a+b);
|
||||
}
|
||||
|
||||
public float Add(float a, float b) {
|
||||
return (a+b);
|
||||
}
|
||||
|
||||
public String Add(String a, String b) {
|
||||
return (a+b);
|
||||
}
|
||||
|
||||
public Example Add(Example a, Example b) {
|
||||
return new Example(a.mPublicInt + b.mPublicInt);
|
||||
}
|
||||
}
|
||||
|
||||
28
SWIG/Examples/perl5/java/Makefile
Normal file
28
SWIG/Examples/perl5/java/Makefile
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
CXX = gcj
|
||||
TOP = ../..
|
||||
SWIG = $(TOP)/../preinst-swig
|
||||
CXXSRCS =
|
||||
TARGET = example
|
||||
INTERFACE = example.i
|
||||
LIBS = -lm
|
||||
|
||||
all:: Example.class
|
||||
$(MAKE) -f $(TOP)/Makefile CXXSRCS='$(CXXSRCS)' SWIG='$(SWIG)' \
|
||||
TARGET='$(TARGET)' INTERFACE='$(INTERFACE)' CXX="gcj" CFLAGS="-fPIC" \
|
||||
CXXSHARED="gcj -fPIC -shared Example.class" PERL5_CCFLAGS='' PERL5_EXP='' perl5_cpp
|
||||
|
||||
|
||||
clean::
|
||||
$(MAKE) -f $(TOP)/Makefile perl5_clean
|
||||
rm -f *.class Example.h
|
||||
|
||||
check: all
|
||||
|
||||
run:
|
||||
perl runme.pl
|
||||
|
||||
Example.class: Example.java
|
||||
gcj -v || exit 0
|
||||
gcj -fPIC -C -c -g Example.java
|
||||
gcjh Example
|
||||
|
||||
18
SWIG/Examples/perl5/java/example.i
Normal file
18
SWIG/Examples/perl5/java/example.i
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
%module example
|
||||
|
||||
%{
|
||||
#undef STATIC
|
||||
%}
|
||||
%include <gcj/cni.i>
|
||||
%include <jstring.i>
|
||||
%{
|
||||
#undef TRUE
|
||||
#define TRUE 1
|
||||
%}
|
||||
|
||||
%{
|
||||
#include "Example.h"
|
||||
%}
|
||||
|
||||
|
||||
%include Example.h
|
||||
26
SWIG/Examples/perl5/java/runme.pl
Normal file
26
SWIG/Examples/perl5/java/runme.pl
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
use example;
|
||||
|
||||
example::JvCreateJavaVM(undef);
|
||||
example::JvAttachCurrentThread(undef, undef);
|
||||
|
||||
$e1 = new example::Example(1);
|
||||
print $e1->{mPublicInt},"\n";
|
||||
|
||||
$e2 = new example::Example(2);
|
||||
print $e2->{mPublicInt},"\n";
|
||||
|
||||
$i = $e1->Add(1,2);
|
||||
print $i,"\n";
|
||||
|
||||
$d = $e2->Add(1.0,2.0);
|
||||
print $d,"\n";
|
||||
|
||||
$d = $e2->Add("1","2");
|
||||
print $d,"\n";
|
||||
|
||||
$e3 = $e1->Add($e1,$e2);
|
||||
print $e3->{mPublicInt},"\n";
|
||||
|
||||
|
||||
|
||||
example::JvDetachCurrentThread()
|
||||
Loading…
Add table
Add a link
Reference in a new issue