- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有办法检测代码是否是用 -flto 编译的?
示例是Linux下的经典库或可执行文件,使用GCC(4.9.1)编译,无需调试。
最佳答案
考虑到 LTO 信息存储在目标文件内的几个 ELF 部分中(请参阅 LTO file sections ),您可以尝试查看 readelf
返回(例如在 this answer 中使用)。
寻找 .gnu.lto_.xxx
条目。
关于gcc - 如何检测使用 LTO 编译的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26322946/
我正在使用 CMake 为我的 C 编译启用 IPO(过程间优化): set_property(TARGET foo PROPERTY INTERPROCEDURAL_OPTIMIZATION TRU
我正在使用 CMake 为我的 C 编译启用 IPO(过程间优化): set_property(TARGET foo PROPERTY INTERPROCEDURAL_OPTIMIZATION TRU
我一直在尝试使用以下代码片段(gcc 编译时没有任何警告)更改 Windows(7 和 Server 2012 R2)中 LTO8 磁带的事件分区: DWORD partition= 2; if(Se
考虑以下程序: #include #include int main() { std::string s; std::getline(std::cin, s);
我正在使用链接时间优化 (lto) 和 O2 优化级别编译一个带有修改版 clang 的项目。 O0 和 O1 都很好,但遗憾的是 O2 删除了一些函数调用。有没有办法告诉优化忽略特定功能?我已经尝试
我有带闪存的 MCU(像往常一样)。链接器将 .struct_init、.struct_init_const、.struct_not_init 部分放置到属于闪存部分 20 的地址。它在链接器脚本中被
在编译翻译单元时,编译器会进行大量优化 - 内联、常量折叠/传播、别名分析、循环展开、死代码消除以及许多我从未听说过的其他优化。在多个翻译单元之间使用 LTO/LTCG/WPO 时是否全部完成,或者只
比较 C++ 中的虚函数和 C 中的虚表,编译器在一般情况下(以及对于足够大的项目)在去虚拟化方面是否同样出色? 天真地,C++ 中的虚函数似乎具有更多的语义,因此可能更容易去虚拟化。 更新: Moo
GCC、MSVC、LLVM 和可能的其他工具链支持链接时间(整个程序)优化,以允许优化编译单元之间的调用。 编译生产软件时是否有理由不启用此选项? 最佳答案 我假设 “生产软件” 是指您交付给客户/投
有没有办法检测代码是否是用 -flto 编译的? 示例是Linux下的经典库或可执行文件,使用GCC(4.9.1)编译,无需调试。 最佳答案 考虑到 LTO 信息存储在目标文件内的几个 ELF 部分中
假设我有一个函数 void do_something() { //.... #ifdef FEATURE_X feature_x(); #endif /
对于 gcc,这个 answer告诉我们如何验证链接时间优化是否已执行。对于 clang,我看不到任何类似于 .gnu.lto 的条目. 更具体地说,我有一个二进制文件,我很确定 LTO 应该有很大的
我试图用下一个标志编译我的源代码: 1. -flto2. -flto -ffat-lto-objects3. -flto -fno-fat-lto-objects 第三个提供优化slim文档中编写的
我有一个项目,在 ARM Cortex-M4 处理器上运行,我试图在其中包含 gcc 链接时优化 (LTO) 功能。 目前我的编译和链接标志是: CFLAGS = -ggdb -ffunction-s
在编写代码或构建脚本以使用 LTO 进行编译时需要牢记哪些注意事项和陷阱? 这个问题背后的动机是为了更好地理解为什么某些项目在启用 LTO 时编译不干净。特别是,我无法构建 ICU在启用 LTO 的情
我想使用符号版本控制和链接时优化 (LTO) 编译共享库。但是,一旦我打开 LTO,一些导出的符号就会消失。这是一个最小的例子: 首先定义函数 fun 的两个实现: $ cat fun.c #incl
当我尝试使用 -flto 构建静态库时,出现 undefined reference 错误: library.cpp: #include void foo() { std::cout << "T
Clang 允许使用瘦 lto 来加快编译时间,同时仍然保留使用 lto 和选项 -flto=thin 的大部分优点。 . gcc 有相当于 clang 的薄 lto 吗? 最佳答案 GCC 有一个相
我正在使用 arm-none-eabi-gcc 为基于 Cortex-M4 的微 Controller 编译一个可执行文件。非性能关键代码使用 -Os(针对可执行代码大小进行了优化)编译,性能关键部分
有这样的代码: #include "kernel.h" int main() { ... for (int t = 0; t 1099: 00 109a: f
我是一名优秀的程序员,十分优秀!