当前位置:  开发笔记 > 编程语言 > 正文

是否可以拆分SWIG模块进行编译,但在链接时重新加入?

如何解决《是否可以拆分SWIG模块进行编译,但在链接时重新加入?》经验,为你挑选了0个好方法。

大约两年前,当我第一次实现SWIG绑定时,我遇到了这个问题.一旦我们暴露了大量的代码,我们就到了SWIG输出C++文件这么大的程度,编译器无法处理它们.解决这个问题的唯一方法是将接口拆分为多个模块并单独编译.

这有几个缺点:

•每个模块必须知道其他模块中的依赖关系.我有一个脚本来生成处理这方面的接口文件,但它增加了额外的复杂性.

•每个附加模块都会增加动态链接器加载代码所需的时间.我添加了一个导入所有子模块的init .py文件,因此代码被拆分的事实对用户来说是透明的,但总是可见的是加载时间长.

我目前正在审查我们的构建脚本/构建过程,我想看看我能否找到一个比我现在更好的问题的解决方案.理想情况下,我有一个包含所有包装器代码的共享库.

有谁知道如何用SWIG实现这一目标?我已经看到一些用Ruby编写的自定义代码用于特定项目,其中输出经过后处理以实现这一点,但是当我查看Python包装器的可行性时,它看起来并不那么容易.

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有