c++ - 向量中的 Gcov 分支::push_back 函数调用
问题描述
我正在运行 gcov,由于某种原因,它在函数调用 vector::push_back 内创建了一个分支。gcov 文件如下所示:
22: 374: ret.push_back(min_idx);
call 0 returned 100%
branch 1 taken 100% (fallthrough)
branch 2 taken 0% (throw)
这是对“更大”框架进行单元测试的结果。当我做一个这样的简单例子时:
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
vec.push_back(6);
return 0;
}
这是 gcov 输出:
-: 0:Source:/home/rjohan69/work/test_proj/test_proj.cpp
-: 0:Graph:test_proj.gcno
-: 0:Data:test_proj.gcda
-: 0:Runs:1
-: 0:Programs:1
-: 1:#include <vector>
1: 2:int main() {
2: 3: std::vector<int> vec = {1, 2, 3, 4, 5};
1: 4: vec.push_back(6);
3: 5:}
更大的框架被编译成一个库。这可能是个问题吗?这是否使它认为向量库是更大库的一部分?或者为什么一个在 push_back 函数调用中创建一个分支而不是另一个?
解决方案
推荐阅读
- selenium - 运行 selenium webdriver 脚本时无法单击超链接
- sql - SQL Query 获取特定人员的排名、姓名和分数
- javascript - 在地图上绘制多边形时地图不显示
- php - Yii2凉亭错误heroku
- python-3.x - 运行我的python程序时出错
- sql - 按小时分组时间戳 SQLite
- python - 带有下拉列表的动态 html 电子邮件
- python - 当我使用三元条件运算符时返回错误的结果
- azure - Docker 状态正在运行,但无法执行 docker ps
- java - 如何修复 maven org.apache.maven.surefire.testset.TestSetFailedException: