小编Seb*_*ebi的帖子

当使用 GCC 编译但与 LLVM LLD 链接时,LTO 是否有效?

我最近发现了 LLVM 的链接器,lld它因链接速度非常快而受到称赞。事实上,我测试了它,结果非常棒,与gold.

然而,当谈到链接时优化时,我的知识是有限的。据我通过阅读互联网上的内容了解到,目标文件中产生了一些额外的代码,代表一些内部编译器结构,然后在链接阶段使用。因此,我担心链接时优化(及其好处)是否受到此编译器/链接器组合的影响。我希望对此事有一些解释!

我使用了gcc版本9.2.0lld版本10.0.0

我用来生成目标文件的命令:

/opt/gcc/9.2.0/bin/c++ -fPIE -flto -ffat-lto-objects -fuse-linker-plugin -m64 -O3 -g -DNDEBUG -o my_object.cpp.o -c my_source_file.cpp
Run Code Online (Sandbox Code Playgroud)

对于链接:

#-fuse-ld=gold
/opt/gcc/9.2.0/bin/c++ -fPIE -flto -ffat-lto-objects -fuse-linker-plugin -m64 -pie -fuse-ld=gold -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -static-libstdc++ -static-libgcc -Wl,--threads -Wl,--thread-count,1
#-fuse-ld=lld
/opt/gcc/9.2.0/bin/c++ -fPIE -flto -ffat-lto-objects -fuse-linker-plugin -m64 -pie -fuse-ld=lld -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -static-libstdc++ -static-libgcc -Wl,--threads -Wl,
Run Code Online (Sandbox Code Playgroud)

c++ linker gcc llvm lld

7
推荐指数
1
解决办法
3763
查看次数

标签 统计

c++ ×1

gcc ×1

linker ×1

lld ×1

llvm ×1