我 man g++ 并仔细阅读了 lto 部分。现在我想知道如何像 icpc 编译器中的 -ipo-c 一样进行部分链接时间优化。例如:
g++ -O2 -flto -c a.cpp
g++ -O2 -flto -c b.cpp
现在它将生成包含 GIMPLE(GCC 的内部表示之一)的 ao 和 bo。我想结合 ao 和 bo 来生成一个真实的对象 co 文件。这意味着只是超过两个 cpp 文件而不是整个程序。任何想法?
原因是我需要将fortran代码和c++代码结合在一起,所以最后的链接步骤是
ifort -nofor-main -cxxlib -fexceptions f.o a.o b.o
fo 由 ifort 生成。因为 ifort 不知道 GIMPLE 是什么。所以最后的链接步骤将失败。