假设模块f_a
中的函数m_a
调用模块f_b
中的另一个函数m_b
。这是模块m_a
的唯一引用。现在,我想使模块m_a
自包含,即消除对其他模块的引用。但是,模块m_b
的大小非常大。 (在这种情况下,它包含快速/准确和单/双实现中的所有数学函数)。有没有办法只使用LLVM C ++ API将函数f_b
添加到模块m_a
?或者我是否必须使用链接器API并将整个模块m_b
合并到m_a
?
答案 0 :(得分:1)
使用文本编辑器并将功能切换到目标模块。如果链接整个m_b,链接器应该仍然能够检测到它的大部分未被使用,并在创建最终可执行文件时丢弃它们。你想要解决的问题究竟是什么?
答案 1 :(得分:1)
一般来说,您需要链接器,模块b中的函数可以使用仅在那里声明的变量和其他函数,您应该检查代码以便能够为通用函数执行此操作。链接器将是适用于所有情况的解决方案。