摘自 http://www.swig.org/translations/chinese/tutorial.html
/* File : example.c */ #include <time.h> double My_variable = 3.0; int fact(int n) { if (n <= 1) return 1; else return n*fact(n-1); } int my_mod(int x, int y) { return (x%y); } char *get_time() { time_t ltime; time(<ime); return ctime(<ime); }
接口文件
/* example.i */ %module example %{ /* Put header files here or function declarations like below */ extern double My_variable; extern int fact(int n); extern int my_mod(int x, int y); extern char *get_time(); %} extern double My_variable; extern int fact(int n); extern int my_mod(int x, int y); extern char *get_time();
java文件
public class main { public static void main(String argv[]) { System.loadLibrary("example"); System.out.println(example.getMy_variable()); System.out.println(example.fact(5)); System.out.println(example.get_time()); } }
编译运行:
% swig -java example.i % gcc -fpic -c example.c example_wrap.c -I/usr/java/jdk1.4.2/include -I/usr/java/jdk1.4.2/include/linux % gcc -shared example.o example_wrap.o -o libexample.so % javac main.java % java main % LD_LIBRARY_PATH=$LD_LIBRARY_PATH:libexample.so所在目录 java main
相关推荐
配置环境变量JAVA_BIN和JAVA_INCLUDE。比如: JAVA_BIN:C:\Program Files\Java\jdk-12.0.2\bin JAVA_INCLUDE:C:\Program Files\Java\jdk-12.0.2\include 进入Examples\java\simple目录,用VS2019打开example.dsp。...
java调用dll java调用c,采用swig,官方实例,对官方代码中不能通过的地方做了修改和说明,有开发过程描述。
NULL 博文链接:https://cherishlc.iteye.com/blog/1689224
支持语言列表中也包括非脚本编译语言,例如C#, Common Lisp (CLISP, Allegro CL, CFFI, UFFI), Java, Modula-3, OCAML以及R,甚至是编译器或者汇编的计划应用(Guile, MzScheme, Chicken)。SWIG普遍应用于创建高级...
SWIG is a compiler that takes C/C++ declarations and creates the wrappers needed to access those declarations from other languages including including Perl, Python, Tcl, Ruby, Guile, and Java....
显示使用 SWIG 为 Java、Python 和 C# 生成包装器的示例。 结构: SwigExample.sln - Visual Studio 2013 解决方案 CSharpTest - 显示使用生成的 C# 包装器的 Visual Studio 单元测试代码 JavaTest - JUnit 单元...
SWIG构建参数: -java -c++ -package org.n52.ilwis.java -outdir ../ilwisjava/src/main/java/org/n52/ilwis/java ilwisobjects.i 输出: swig outdir (ilwisjava / src / main / java / org / n52 / ilwis / ...
借助SWIG实现的CTP-java接口,测试程序见org.hraink.futures.jctp.test.Test。参考了csdn上的相关资料,分享出来供大家参考。
other languages including including Perl, Python, Tcl, Ruby, Guile, and Java. SWIG normally requires no modifications to existing code and can often be used to build a usable interface in only a few ...
半胱氨酸结合 使用SWIG的CGAL绑定 有关详细信息,请参阅 。
FrostWire的制造商为libtorrent提供的Swig Java接口。 用Java编写代码的乐趣来开发基于libtorrent的应用程序。 使用 所有平台都需要您至少使用2个.jar文件。 所述.jar与Java类- > jlibtorrent-wxyzjar和次级.jar...
斯威格这需要SWIG工具: : SWIG解析C ++头文件,并生成C ++ JNI代码以及Java本机和帮助程序类。JNA JNA允许Java代码直接使用C动态库。 因为我们的库实际上是C ++,所以包含了一个小的包装程序,将其包装为C代码。 您...
网Linux 苹果系统 视窗介绍| 代码图| C ++ | 痛饮| Python 3 | .Net核心| Java | CI | 执照| 这是一个完整的示例,说明如何使用SWIG代码生成器创建Modern CMake C ++项目,以生成Python,.Net和Java的包装程序和包。...
无需发明新语言,例如SWIG、SIP、C++/CLI、Cython或RPython。相反,与cppyy为 Python 所做的事情类似,它利用了 Java 和 C++ 之间的语法和语义相似性。在底层,它使用 JNI,因此除了Android、Avian和RoboVM(指令)...
该项目有使用Android Studio 1、2和3,Gradle,CMake,Android NDK和SWIG来自动编译和设置C ++库和Java包装程序的完整示例。 此处详细说明: : (正在等待更新以包括CMake) Android Studio 2/3 由于Android ...
1 下载Swig for Windows:http://www.swig.org/download.html 2 解压 .zip 文件到目录,比如:D:\backupsoftware 3 添加环境变量到path, 比如: D:\backupsoftware\swigwin-3.0.12 4 添加环境变量 JAVA_INCLUDE ...
支持语言列表中 也包括非脚本编译语言,例如C#, Common Lisp (CLISP, Allegro CL, CFFI, UFFI), Java, Modula-3, OCAML以及R,甚至是编译器或者汇编的计划应用(Guile, MzScheme, Chicken)。SWIG普遍应用于创建高级...
The list of supported languages also includes non-scripting languages such as C#, Common Lisp (CLISP, Allegro CL, CFFI, UFFI), D, Go language, Java, Lua, Modula-3, OCAML, Octave and R. Also several ...
swig支持多种语言之间的交互接口自动封装功能,如对已有C库自动封装出可以在LUA、PYTHON、JAVA等语言中调用的接口库
使用生成的C和SWIG代码的示例C#,Java和Python主要功能 入门 有一组基于简单的timestwo函数的开始示例,这是一个很好的起点。 按照数字顺序关注它们,以查看逐渐增加的复杂性。 01-timestwo-scalar :简单的标量...