![]() |
1
2
仅仅因为有人使用了某些东西并不能使它变得好。说我爱我的大口。 我用它来包装java和python中的C++库。它允许我只写一次代码,但仍然在其他语言中使用该代码。它以有意义和一致的方式翻译API,这是不可低估的。简言之,它使我们这些必须同时使用多种语言和多个库工作的人的生活更轻松。 |
![]() |
2
2
当用一种语言编写的程序需要调用用另一种语言编写的程序时,SWIG生成所需的“粘合代码”。SWIG的操作是假设C/C++是一种最低公分母,如果你想连接,比如Python和java,你必须通过C传递所有的信息。SWIG非常雄心勃勃,涵盖了大量的脚本语言,基本上提供了C/C++的导入/导出。 使用SWIG的方式完全不同于脚本语言,但是总体思路总是相同的:描述一些C/C++头文件,SWIG生成需要从您最喜欢的脚本语言使用该头文件的胶粘代码。将两种脚本语言连接在一起并不适合常见的用例,如果您没有遇到麻烦,我会感到惊讶。一个好的计划是在两种语言之间只交换不可变的数据。即使那样,我也会为惊喜做好准备。 总结: SWIG在设计的方面工作得很好,它是将C/C++库导出到 巨大的 多种脚本语言 有两个 不同的 |
![]() |
azraq1668 · 将swig重命名为ocaml时出现的奇怪行为 7 年前 |
|
Jan Kubik · 皮查姆·斯威格怎么做?[窗口] 7 年前 |
![]() |
bremen_matt · 设置Swig的编译器标志 7 年前 |
![]() |
Brian D · 禁用distutils扩展的链接步骤 7 年前 |