llvm - 单片链接时优化是否适用于静态库?
问题描述
本文讨论目标文件如何包含用于链接时优化的 LLVM IR。但是如果链接器正在编译一个包含静态库的项目,静态库是否也有这些信息?如果有,在什么情况下?
解决方案
是的。静态库也可以包含 llvm-IR-bitcode。
A. 使用 llvm-IR-bitcode 构建静态库的步骤
- 在 Xcode Static Lib Project:
Build Settings->Enable Bitcode
中,切换到Yes
Product->Archive
B. 检查静态库是否包含 llvm-IR-bitcode。
otool -l libDemo.a
- 在输出中,搜索
__bitcode
并检查 是否size
大于 000001。
如果size
> 000001:则静态库包含 llvm-IR-bitcode
否则:静态库不包含 llvm-IR-bitcode。
希望这能回答你的问题。
推荐阅读
- java - Apache Avro - Avro 地图值中的复杂类型
- android - 滚动到另一个页面后,ViewPager 中的视图不可见
- java - 故障转移到 CRL:证书未指定 OCSP 响应者
- android - windowSoftInputMode 在 scrollView android 中不起作用
- algorithm - 如何直接找到一个点旁边的所有点?
- mysql - 如果值不存在,则在其他列中搜索
- javascript - 通过滚动更改为固定位置后保持右对齐
- javascript - 使用Javascript单击锚标记时如何更改输入标记的值、名称和占位符?
- vb.net - 浏览器阻止 ASPXGridview 在新窗口中弹出页面
- typescript - 开玩笑 [Vue 警告]:渲染错误:“TypeError:无法读取未定义的属性‘类型’”