SWIG图像
主页 Github开发 邮件列表 虫子和补丁
问询处
什么是SWIG?
兼容性
功能
辅导的
文件
新闻
出血边缘
历史
犯罪各方
项目
法律部
链接
下载
SwigWiki(摇摆维基)
调查
捐赠
附属公司
软件自由保护协会标志
我们慷慨的主人
在SourceForge.net获取SWIG。快速、安全和免费的开源软件下载
退出
C#-单声道
C#-微软。净值
D类
围棋语言
Guile公司
Java语言
Javascript-节点.js
Javascript-节点API
Javascript-V8
Javascript-WebKit
路易斯安那州
MzScheme/支架
OCaml公司
倍频程
波尔
菲律宾比索
蟒蛇
R(右)
红宝石
科学实验室
Tcl/Tk

欢迎来到SWIG

SWIG是一种连接编写的程序的软件开发工具具有多种高级编程功能的C和C++语言。SWIG用于不同类型的目标语言,包括常见的脚本语言,例如Javascript、Perl、PHP、Python、Tcl和Ruby。的列表支持的语言还包括非脚本语言,如C#、D、Go语言、,Java包括Android、Lua、OCaml、Octave、Scilab和R。还有一些解释和编译的Scheme实现(Guile、MzScheme/Racket)支持。SWIG是通常用于创建高级解释或编译编程环境、用户界面,以及作为测试和原型化C/C++软件的工具。SWIG通常用于解析C/C++接口并生成上述目标语言调用C/C++代码所需的“粘合代码”。SWIG还可以以XML的形式导出其解析树。SWIG是一种自由软件,SWIG生成的代码与商业和非商业项目兼容。

最近的新闻SWIG RSS订阅源

2024/02/24-SWIG-4.2.1发布

SWIG-4.2.1主要是一个稳定性和回归修复版本,但也包括:

  • Tcl 9.0支持。
  • 倍频程9.0支持。
  • 包装好友功能的改进。
  • 模板支持中的可变模板函数。
  • 类型扣除增强功能。

2023/12/31-SWIG-4.2.0发布

SWIG-4.2.0总结:

  • 各种模板包装改进:模板模板参数,
    可变模板、部分专用模板、常量模板
    参数和改进的错误检查实例化模板。
  • 改进了对表达式的decltype()支持。
  • 没有尾部返回类型的C++14 auto和C++11 auto变量。
  • 大量C++使用声明的改进。
  • 对构造函数、析构函数和赋值运算符进行了大量修复:
    隐式、默认、删除和相关的不可赋值变量
    包装纸。
  • STL:std::array和std:
    补充。
  • 各种C预处理器改进。
  • 修复了与特定于体系结构的长类型有关的各种问题。
  • 各种Doxygen改进。
  • D1/探戈支架已拆除。D2/Fobos现在是受支持的D版本
    SWIG现在生成与最新D2版本一起使用的代码。
  • 针对Node.js二进制稳定的ABI Node-API的新Javascript生成器。
  • 增加了Octave 8.1支持。
  • 删除了对PHP7的支持,PHP8现在是受支持的PHP版本。
  • Python STL容器包装器现在使用Python-迭代器协议。
  • 添加了Python稳定的ABI支持。
  • 添加了Python 3.12支持。
  • Ruby 3.2和3.3支持。
  • 添加了Scilab 2023.*支持。
  • C#、Go、Guile、Javascript、Lua、Ocaml、,
    Perl、PHP、R、Racket、Ruby、Scilab和Tcl。
  • 已经删除了一些不推荐使用的功能。

2022/11/30-发布SWIG-4.1.1

SWIG-4.1.1总结:

  • 几个稳定性修复。
  • 计算输入哈希值时,ccache-swig中的稳定性修复。
  • 一些模板处理改进。
  • R-次要修复和不推荐使用rtypecheck类型映射(可选)。

2022年10月24日-发布SWIG-4.1.0

SWIG-4.1.0总结:

  • 添加Javascript Node v12-v18支持,删除v6之前的支持。
  • 增加了Octave 6.0到6.4支持。
  • 添加PHP 8支持。
  • PHP包装现在完全通过PHP的C API完成,不再使用.PHP包装器。
  • Perl 5.8.0现在是SWIG支持的最旧版本。
  • Python3.3现在是最古老的Python 3版本SWIG支持的版本。
  • 添加了Python 3.9-3.11支持。
  • Python生成的代码中的各种内存泄漏修复。
  • Scilab 5.5-6.1支持得到改进。
  • 每种目标语言都有许多改进。
  • 各种预处理器表达式处理改进。
  • 改进了对C99、C++11、C++14和C++17的支持。开始添加C++20标准。
  • 使SWIG更易于移动语义。
  • 添加C++std::unique_ptr支持。
  • 很少有C++模板处理方面的小改进。
  • 各种C++使用声明修复。
  • 处理Doxygen注释的修复很少。
  • GitHub Actions现在代替Travis CI用于持续集成。
  • 使用CMake作为辅助构建系统添加建筑SWIG。
  • 更新从PCRE到PCRE2的正则表达式支持的可选SWIG构建依赖项。

2020/06/08-发布SWIG-4.0.2

SWIG-4.0.2总结:

  • 关于doxygen注释处理的一些修复。
  • 添加了Ruby 2.7支持。
  • 对C#、D、Java、OCaml、Octave、Python、R、Ruby的各种小改进。
  • 在大型接口文件上运行SWIG可显著提高性能。

2019/08/21-发布SWIG-4.0.1

SWIG-4.0.1总结:

  • SWIG现在通过删除所有生成的文件来清除错误。
  • 添加Python 3.8支持。
  • 为Doxygen注释添加了Python Sphinx兼容性。
  • 修正了4.0.0中引入的一些次要回归。
  • 修复了Python和Ruby生成的代码中的一些C++17兼容性问题。
  • 针对C#、Java、Javascript、Lua、MzScheme、Ocaml、Octave和Python的微小改进/修复。

2019/04/28-SWIG-4.0.0发布

SWIG-4.0.0总结

  • 支持解析并转换为JavaDoc或PyDoc注释的Doxygen文档注释。
  • 针对C#、Java和Ruby改进了STL包装器。
  • 为Java、Python和Ruby添加了C++11 STL容器。
  • 改进了对解析C++11和C++14代码的支持。
  • shared_ptr的各种修复。
  • 各种C预处理器角落案例修复。
  • 成员函数指针的角大小写修复。
  • 通过简化生成的代码并默认启用大多数优化,Python模块进行了彻底检修。
  • %模板改进编写了作用域以与C++显式模板实例化保持一致。
  • 添加了对命令行选项文件(有时称为响应文件)的支持。
  • 针对所有受支持的目标语言进行了大量增强和修复。
  • SWIG现在将目标语言的状态分为“实验”或“支持”,以指示预期的成熟度级别。
  • 取消了对CFFI、Allegrocl、Chicken、CLISP、S-EXP、UFFI、Pike、Modula3的支持。
  • 增加了倍频程4.4-5.1支持。
  • 删除了对PHP5的支持,PHP7现在是受支持的PHP版本。
  • 现在所需的最低Python版本是2.7,3.2-3.7是唯一受支持的其他版本。
  • 增加了对Javascript NodeJS版本2-10的支持。
  • OCaml支持得到了很大改进和更新,现在所需的最低OCaml版本为3.12.0。

2017/01/28-SWIG-3.0.12发布

SWIG-3.0.12总结:

  • 添加对Octave-4.2的支持。
  • 增强%extend以支持模板功能。
  • 针对C#、D、Guile、Java、PHP7的特定于语言的增强和修复。

2016/12/29-SWIG-3.0.11发布

SWIG-3.0.11总结:
-添加了PHP 7支持。
-添加了C++11别名模板和类型别名支持。
-C#Go-Guile Java Javascript Octave PHP Python R Ruby Scilab XML的小修复和增强。

2016/06/12-SWIG-3.0.10发布

此版本修复了SWIG-3.0.9中智能指针和导入Python模块的几个重要回归。

更多新闻


有关此网站的反馈和问题应发布到swig-devel公司邮件列表。

上次修改时间:2024年2月24日星期六13:56:01