对于给定的示例程序,我想知道编译期间使用的是GCC源代码的哪一部分。
建筑GCC:
我试着用
./src/configure --enable-languages=c,c++
--disable-bootstrap --disable-multilib BOOT_CFLAGS="-O2 -g -ftest-coverage -fprofile-arcs"
我有一个名为program.c的示例程序
我正在用xgcc编译program.c
/path/to/xgcc -B path/to/stage1build/gcc -ftest-coverage program.c
上面的命令给了我程序的代码覆盖率,问题是我不想用gcov和lcov找到program.c的代码覆盖率。
我想找到gcc源代码的代码覆盖率。
我试着在网上搜索,但几乎所有的答案都通过一个示例.c程序告诉我如何使用gcov和lcov。
注:
我知道如何使用gcov和lcov
最佳答案
根据联机搜索BOOT_CFLAGS
,它似乎为要编译的代码设置了默认编译器标志。
请参阅:1,2
可能需要运行如下配置:
./src/configure --enable-languages=c,c++ --disable-bootstrap --disable-multilib CFLAGS="-O2 -g -ftest-coverage -fprofile-arcs" CXXFLAGS="-O2 -g -ftest-coverage -fprofile-arcs"
但是,在使用GCC Build with coverage的覆盖率进行构建时,您可能会遇到其他问题。
最好是在GCC邮件列表上发布,看看是否有人有可能的解决方案。
关于c - 如何做gcc编译器的源代码覆盖,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53854284/