首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SWIG是什么?它的用途是什么?

SWIG是什么?它的用途是什么?
EN

Stack Overflow用户
提问于 2010-06-16 10:14:10
回答 2查看 579关注 0票数 1

我刚在网上看到谷歌用的是swig。

有没有人用过它,告诉我它对我有帮助吗?

我的意思是为什么使用它,以及它如何让我的工作变得更好。

因为google正在使用它,所以它必须是好的

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-16 10:25:24

仅仅因为有人使用了某件东西并不能使它变得好。那就是说我爱我的Swig。

我已经用它用Java语言和Python语言包装了C++库。它让我只需编写一次代码,就可以在其他语言中使用该代码。它以一种有意义且一致的方式转换API,这是不可低估的。简而言之,对于我们这些必须同时使用多种语言和多个库的人来说,这让他们的生活变得更容易。

票数 2
EN

Stack Overflow用户

发布于 2010-06-17 06:37:35

当用一种语言编写的程序需要调用用另一种语言编写的程序时,SWIG会生成所需的“胶水代码”。SWIG的运行假设是C/ C ++是一种最小的公分母,如果你想连接,比如说Python和Java,你必须通过C传递所有的信息。SWIG非常雄心勃勃,涵盖了大量的脚本语言,基本上提供了对C或C++的导入/导出。

具体如何使用SWIG因脚本语言的不同而有所不同,但总体思路是相同的:您描述一些C/C++头文件,SWIG生成从您最喜欢的脚本语言使用该头文件所需的胶水代码。将两种脚本语言连接在一起并不适合常见的用例,如果您没有遇到麻烦,我会感到惊讶。一个好的计划是只在两种语言之间交换不可变的数据。即使到那时,我也会为惊喜做好准备。

摘要: SWIG的设计目标是将C/C++库导出为多种脚本语言,但一次只能导出一种。在同一进程映像中运行两种不同的脚本语言可能比您预期的要困难。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3050316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档