gpt4 book ai didi

c++ - 混合 C++/C 程序的链接时优化 (lto)

转载 作者:行者123 更新时间:2023-11-30 01:38:37 25 4
gpt4 key购买 nike

我想知道是否可以有效地使用链接时优化 (lto) 来处理由 TU 和 C++ 代码组成的程序,这些程序调用 TU 中的某些函数,并使用 C 代码。那么,有没有办法将 C 函数内联到生成的程序中?

真正的用例是用 C++ 编写的微 Controller 固件。但是由于 C 语义(例如访问非事件 union 成员),有些代码必须用 C 编写。

(这与手动将函数标记为内联无关)

最佳答案

这应该不是问题。在 GCC 和 Clang 中,链接时优化对代码的中间表示进行操作。也就是说,通过使用 -flto,您可以创建带有附加 LTO 信息 (gcc) 或 LLVM 字节码 (Clang) 的目标文件,此时源语言不再重要。

有些甚至混合了更不相关的 C++ 和 D,但仍然使用 LTO:http://johanengelen.github.io/ldc/2016/11/10/Link-Time-Optimization-LDC.html

关于c++ - 混合 C++/C 程序的链接时优化 (lto),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47279354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com