优化不会出现在 EXE 中的 DLL 是否有任何注意事项?
我通常熟悉 -O2 或 -O3 开关执行的各种优化。
我已经被一些特定于构建 DLL 的问题所困扰,而这些问题在编写平面可执行文件时不会出现,所以在我开始打开优化之前,是否有任何我应该注意的“陷阱”?
I am generally familiar with the sorts of optimizations performed by the -O2 or -O3 switches.
I have been bitten a couple of times now by issues that are specific to building a DLL that don't appear in writing a flat executable, so before I start turning on optimizations are there any "gotcha"s that I should be aware of?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
EXE 中的死代码消除基本上从
main
作为可达性的单一根开始,但 DLL 的每个导出函数都是一个单独的根。Dead code elimination in an EXE basically starts with
main
as the single root of reachability, but every exported function of a DLL is a separate root.