Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
ARM + gcc:不要使用一大块 .rodata 部分
我想使用 gcc 编译一个程序 并针对 ARM 处理器进行链接时间优化 当我在没有 LTO 的情况下编译时 系统会被编译 当我启用 LTO 时 使用 flto 我收到以下汇编错误 错误 无效的文字常量 池需要更近 环顾网络 我发现这与我系统
c
gcc
arm
inline
lto
GCC 配置文件引导优化 (PGO) 收集哪些信息以及哪些优化使用这些信息?
当我启用时 GCC 会收集哪些信息 fprofile generate以及哪个优化实际上使用了收集到的信息 当设置 fprofile use flag 我这里需要引用 我搜索了一段时间但没有找到任何记录 有关链接时间优化 LTO 的信息将是
c
gcc
pgo
lto
Clang、GCC 和 LTO 之间的互操作性
我知道 Clang 和 GCC 或多或少是兼容的 C C 编译器 只要处理好架构标志 预定义和链接正确的库之类的事情 使用一个编译器创建库并将它们与另一个编译器创建的对象链接实际上非常简单 至少在 x86 上 这是一个小测试项目 正是这样做
c
gcc
Clang
Interop
lto
防止GCC LTO删除函数
我使用 GCC ARM Embedded 和 FreeRTOS FreeRTOS具有的功能vTaskSwitchContext 仅在某些情况下使用 内联汇编代码 问题是 当我使用LTO时 GCC不考虑内联汇编代码并认为该函数没有被使用 因此
c
gcc
ld
freeRTOS
lto
启用链接时优化会导致链接器错误吗?
我有可以正常编译和链接的代码 我现在尝试启用链接时优化 但添加 flto我的编译器和链接器标志导致链接器错误 usr local lib libboost thread a thread o In function void boost t
c
gcc
Linker
lto
为什么在使用 -O0 编译目标文件时,GCC 不使用 LTO 进行函数死代码消除?
Example notmain c int attribute noinline notmain int i return i 1 int notmain2 int i return i 2 main c int notmain int i
gcc
ld
lto
arm-linux-androideabi-g++:-fuse-linker-plugin,但找不到 liblto_plugin.so
我在ubuntu 12 04下编译Chrome V8时遇到一个问题是 arm linux androideabi g 致命错误 fuse linker plugin 但找不到 liblto plugin so ndk版本是r8b 我怎么解决
Android
gcc
lto
GCC LTO 是否执行跨文件死代码消除?
说我有一个函数 void do something ifdef FEATURE X feature x endif 我可以毫无问题地编译和运行它 如果我想要这个功能我可以通过 D FEATURE X它有效 但是 如果我想把do someth
gcc
deadcode
lto
如何检测用LTO编译的代码?
有什么方法可以检测代码是否使用 flto 编译 示例是Linux下使用GCC 4 9 1 编译的经典库或可执行文件 无需调试 考虑到 LTO 信息存储在目标文件内的多个 ELF 部分中 请参阅LTO 文件部分 你可以尝试看看会发生什么rea
gcc
lto
使用替换的运算符 new 进行 Clang 链接时优化会导致 valgrind 中的 free()/delete 不匹配
当使用 clang 3 5 0 和 flto 并链接到共享库时 似乎调用operator delete在共享库中不遵循与调用相同的符号解析顺序operator new从主要对象来看 例子 共享 cpp void deleteIt int p
c
Clang
valgrind
lto
GCC下未定义的引用与LTO交叉编译静态库
我正在尝试使用 GCC 4 9 2 从 Linux x86 64 pc linux gnu 交叉编译 Windows x86 64 w64 mingw32 的应用程序 当构建链接到静态库的目标并使用链接时优化时 我从链接器中得到目标从库中使
c
gcc
MinGW
crosscompiling
lto