SWIG

授权协议 MIT
开发语言 C/C++
所属分类 开发工具、 C/C++开发工具
软件类型 开源软件
地区 不详
投 递 者 东门令
操作系统 Linux
开源组织
适用人群 未知
 软件概览

SWIG是个帮助使用C或者C++编写的软件能与其它各种高级编程语言进行嵌入联接的开发工具。SWIG能应用于各种不同类型的语言包括常用脚本编译语言例如Perl, PHP, Python, Tcl, Ruby and PHP。支持语言列表中 也包括非脚本编译语言,例如C#, Common Lisp (CLISP, Allegro CL, CFFI, UFFI), Java, Modula-3, OCAML以及R,甚至是编译器或者汇编的计划应用(Guile, MzScheme, Chicken)。SWIG普遍应用于创建高级语言解析或汇编程序环境,用户接口,作为一种用来测试C/C++或进行原型设计的工具。SWIG还能够导出 XML或Lisp s-expressions格式的解析树。SWIG可以被自由使用,发布,修改用于商业或非商业中。

  • SWIG简要文档 因为项目需要使用python来调用C/C++函数,经过调研发现swig是合适的方案,为了记录下学习的过程,所以有了这个文档。 我仅将里面的重要部分翻译了,章节序号对应原文档。 原文档地址在文末。 前言 简介: 众所周知,SWIG这个项目创建的缘由,是为你们提供简洁而又天然的脚本语言接口。什么是简洁而天然呢?它的意思就是C/C++的函数就直接被封装为python的函数,class就

  • 1. SWIG介绍(来自于wiki) SWIG (Simplified Wrapper and Interface Generator) is anopen source software tool used to connect computer programs or libraries written in C or C++ with scripting languages such as

  • 安装swig之前一定要先安装pcre (网上下载,有很多教程) 下载完pcre 和swig 之后,把解压后的pcre 文件夹放到swig 文件夹根目录下。 打开终端,先cd进解压后的pcre 根目录,先输入configure,回车执行;再输入make,回车执行;最后输入make install回车执行。 退回swig 根目录,和上述一样,依次执行configure、make、make instal

  • 查看SWIG帮助 swig - -help 可以看到语言特有的选项 例如:swig -java -help 常规选项 -addextern - 添加额外的extern声明 -c ++ - 启用C ++处理 -co <file> - 检查SWIG库中的<file> -copyctor - 尽可能自动生成复制构造函数 -cpperraswarn - 将

  • 内容是从http://www.swig.org/Doc1.3/SWIG.html#SWIG_nn2上摘抄,是为了理解更深入。 1. 运行swig 在命令行输入:swig [ options] filename option包括: -allegrocl            Generate ALLEGROCL wrappers -chicken              Generate CHIC

  • SWIG 基本概念和入门 C/C++公认为创建高性能代码首选平台 向脚本语言接口公开C/C++代码 Simplified Wrapper and Interface Generator的用武之地 SWIG允许您向脚本语言公开 C/C++ 代码 包括 Ruby、Perl、Tcl 和 Python 本文用 Ruby 作为公开 C/C++ 功能的首选脚本接口。 要理解本文,您必须具备 C/C++ 与 R

  • http://swig.org/translations/chinese/index.html 欢迎来到SWIG中文 [  English  ] SWIG是个帮助使用C或者C++编写的软件能与其它各种高级编程语言进行嵌入联接的开发工具。SWIG能应用于各种不同类型的语言包括常用脚本编译语言例如Perl, PHP, Python, Tcl, Ruby and PHP。支持语言列表中也包括非脚本编译语

  • 介绍:        swig是一个可以为其他语言转化接口的工具,例如可以为java提供接口以使用c++语言的程序库。 目的 :       由于需要实现c++和java的交互,想到两种办法,第一种就是jni,正巧swig可以生成此接口,遂使用。第二种用rpc进行远程接口调用,后期会更新rpc的编译办法和使用例子。 步骤:       1.编写c++代码单元。       2.编写swig的XXX

  • swig的简单介绍 swig是JS模板引擎,它有如下特点: 根据路劲渲染页面 面向对象的模板继承,页面复用 动态页面 快速上手 功能强大 swig的变量 {{ foo.bar }} {{ foo['bar'] }} //如果变量未定义,输出空字符。 swig的标签 extends 使当前模板继承父模板,必须在文件最前 参数: file 父模板相对模板 root 的相对路径,将在后面介绍如何实现模板

  •      SWIG 是一个非常优秀的开源工具,支持您将 C/C++ 代码与任何主流(脚本)语言(Ruby、Perl、JAVA、c#)相集成。 能根据定义的规则(*.i)文件生成供其它主流(脚本)语言调用的代码。 基本的使用指南http://www.swig.org/tutorial.html 一个示例: print_hello.h #ifndef PRINT_HELLO_H__ #define P

  •    SWIG是一个编译时开发软件工具能够产生必须代码来使用用c/c++编写的本地模块和其他的编程语言连接,包括Java。SWIG是一个编译接口,一个代码产生器;SWIG采用一个接口文件作为它的输入和产生必要的代码在Java中显示。   SWIG 安装:   下载,设置环境变量。

  • 一、SWIG简介: SWIG,即简化封装和接口生成器(Simplified Wrapper and Interface Generator),按照其创建者的说法,是“一种把用C、C++以及Objective-C所写的程序连接到各种高级编程语言的软件开发工具”。UNIX、Windows以及Macintosh系统都支持SWIG。   对Java程序员来说,SWIG是把C/C++代码嵌入到Java脚本的

  • https://www.cnblogs.com/no-tears-girl/p/10456738.html https://www.cnblogs.com/no-tears-girl/p/10456738.html 下载网址 http://www.linuxfromscratch.org/blfs/view/cvs/general/swig.html

  • HOW TO USE SWIG 参考网站: SWIG SWIG 的优势: 直接从C++ 头文件中解析出 C++的声明 支持大部分C++的语言特性 可以使用接口文件(.i)代替头文件,具有更好的可控性 可以为Python/ Perl/ Ruby等语言生成封装代码(glue / wrapper code) 可以将STL容器转化为Python表示 免费,开源 To be continue…

  • SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is used with different types of target languages including comm

  • 原链接:http://www.swig.org/Doc1.3/Python.html#Python_nn7 基础用法(以C为例) 1. 写两个.h和.c文件如下: /* File: example.c */ #include "example.h" int fact(int n) { if (n < 0){ /* This should probably return an error

  • 学习了swig扩展php后,当然也要试下java了。 c代码及example.i文件不用动。直接进入第三步 3、建立java扩展 swig -java exaple.i 可以看到生成了example.java和exampleJNI.java文件,exampleJNI.java中有类似 public final static native int fact(int jarg1); 这样的语句。即用n

  • * 通过swig 粘合 lua 与 c++:http://hi.baidu.com/%B6%FE%D4%C2%C4%F1t/blog/item/190f9c1197f432d6c3fd7827.html * Lua scripting with SWIG - Calling a Lua function from C++ and passing parameters to it:http://ww

  • 当你觉得python慢的时候,当你的c/c++代码难以用在python上的时候,你可能会注意这篇文章。swig是一个可以把c/c++代码封装为python库的工具。(本文封装为python3的库) SWIG 和 Python——c/c++与脚本交互 swig与python

  • SWIG 安装 本文使用了 SWIG 版本 2.0.4(参见 参考资料 获取下载站点的链接)。要构建和安装 SWIG,可按照典型的开源安装流程,在命令提示符下输入以下命令: 请注意,为前缀提供的路径必须是绝对路径。 C 和 C++ 被公认为(理当如此)创建高性能代码的首选平台。对开发人员的一个常见要求是向脚本语言接口公开 C/C++ 代码,这正是 Simplified Wrapper and In

 相关资料
  • 问题内容: 我需要从Java调用C函数。该函数具有以下API: 我正在用Swig做包装纸。 我读了这篇文章: ByteBuffer.allocate()vs.ByteBuffer.allocateDirect() 最好将结果创建为。 如何将传递给代码c(使用swig) C代码如何从ByteBuffer读取和写入数据? 谢谢 问题答案: 来自http://swig.10945.n7.nabble.c

  • 问题内容: 我已经看到了很多类似的问题,但是还没有找到解决我特定问题的方法。我正在尝试SWIGify一些使用std :: function的C ++ 11代码,因此可以在Java应用程序中使用它。 我遇到了这样的共享指针: 并使用shared_ptr指令成功处理了它们,如下所示: 我遇到了像这样的共享指针向量: 并使用如下模板成功处理了它们: 现在我有一个这样的方法: 而且我无法让SWIG正确包装

  • 问题内容: 我在C 中有一个方法,该方法将双精度数组作为参数。我从Java调用此方法,需要传递一个双精度数组。C 例程读取和修改数组的值,而我需要Java中的那些更新后的值。我该怎么做呢? 例如,使用C ++例程: 和Java代码: 我猜不能像上面的调用那样对myMethod进行调用…还是可以吗?而在Swig中进行这项工作所需的是什么。如果我无法进行上述调用,如何将我的值获取到C ++代码? 问题

  • 问题内容: 我正在尝试使用SWIG将C 类包装到Java类中。此类C 类具有引发异常的方法。 我有三个目标,尽管据我所知遵循了手册,但目前没有一个目标: 要使Java类在C ++中引发的方法上声明 要获取SWIG生成的Exception类以进行扩展 在生成的SWIG类中重写。 似乎问题的根源似乎没有应用我的,因为以上均未发生。我做错了什么? 最小的示例如下。C ++不必编译,我只对生成的Java感

  • 问题内容: 我正在为C库开发一些SWIG生成的Java绑定。该库包含采用类型参数的函数。在C端,这些通常会作为指向类型数组的指针传递或转换为。在生成的Java绑定中,这导致采用类型参数的方法。 在Java绑定中构造float / int数组的最佳方法是什么,以便可以将它们作为类型传递给这些方法? 目前,我在example.i文件中定义了一个辅助函数: 然后在Java方面执行以下操作: 这似乎很难看

  • 问题内容: 我正在尝试包装一些用于Java的旧代码,很高兴看到Swig能够处理头文件,并且生成了一个几乎可以正常工作的出色包装器。现在,我正在寻找使它真正起作用的深层魔术。 CI中的功能看起来像这样 此函数返回的该整数是万一失败的错误代码。参数是 是一个字符缓冲区 是缓冲区中数据的长度 另一个字符缓冲区,其中包含调用DustyVoodoo的结果 因此,您可以看到行进方向,结果实际上是通过第三个参数

  • 问题内容: 我对swig中的typemap和如何使用数组感到迷茫。我准备了一个使用swig在java和c之间使用数组的工作示例,但是我不知道这是否是正确的方法。 基本上,我想将字节数组从Java 传递给c作为“ signed char *” +它的大小,在c中对其进行修改并查看java中的更改,并在c中创建一个数组并在Java中使用它。 *在C中被修改为Java或其他的缓冲区?](http://c

  • 问题内容: 我正在使用SWIG制作C 库的Java包装器(关于Json(反)序列化),以便在Android上使用它。我用C 定义了一个抽象类,代表一个可以(反序列化)的对象: 现在,我正在尝试从此类生成Java接口。这是我的SWIG界面: 但是生成的Java代码(显然是,因为我无法找出如何告诉SWIG这是一个接口)是一个简单的类,带有两个方法和一个默认的构造函数/析构函数: 如何使用SWIG生成有