2013-05-18 411 views
0

说模块m_a中的函数f_a调用模块m_b中的另一个函数f_b。这是跨模块m_a的唯一参考。现在,我想让模块m_a自成一体,即消除对其他模块的引用。但是,模块m_b的尺寸非常大。 (在这种情况下,它包含快速/准确和单/双执行的所有数学函数)。有没有办法只使用LLVM C++ API将f_b函数添加到模块m_a?或者我必须使用链接器API并将整个模块m_b合并到m_a从不同模块导入功能

回答

1

使用文本编辑器并将该函数剪切到目标模块。如果链接整个m_b,链接器仍应能够检测到大部分未使用并在创建最终可执行文件时将其丢弃。你试图解决什么问题?

1

一般而言,您需要链接器,模块b中的函数可以使用仅在那里声明的变量以及其他函数,您应该检查代码以便能够为通用函数执行该操作。链接器将是解决方案,可以在任何情况下工作。