谷歌基准自定义main
Google benchmark custom main
我希望在基准测试开始使用Google的基准测试库运行之前调用一个自定义主函数。这样我就可以设置一些东西。我找了很多,但什么也找不到。我应该简单地手动修改宏吗?或者简单地使用我的主函数并自己初始化基准。这会以任何方式影响库初始化吗?有没有其他方法不需要我修改宏或复制它的内容?
benchmarkbenchmark_api.h
// Helper macro to create a main routine in a test that runs the benchmarks
#define BENCHMARK_MAIN()
int main(int argc, char** argv) {
::benchmark::Initialize(&argc, argv);
::benchmark::RunSpecifiedBenchmarks();
}
BENCHMARK_MAIN()
只是一个辅助宏,因此您应该能够定义自己版本的main()
,如下所示:
int main(int argc, char** argv)
{
your_custom_init();
::benchmark::Initialize(&argc, argv);
::benchmark::RunSpecifiedBenchmarks();
}
编辑:您还可以定义全局对象,并在其构造函数中执行自定义初始化。我通常这样做,例如用输入数据初始化全局数组:
int data[10];
class MyInit
{
public:
MyInit()
{
for (int n = 0; n < 10; ++n)
data[n] = n;
}
};
MyInit my_init;
相关文章:
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- C++自定义比较函数
- 如何比较自定义类的std::变体
- std::设置自定义比较器
- 如何正确实现和访问运算符的各种自定义枚举器
- flutter:即使shouldRepaint()返回true,自定义画家也不会重新绘制
- 自定义先决条件对移动分配运算符有效吗
- 使用VS Code和CMake Tools运行自定义命令
- 如何创建从Maya(或类似程序)到虚幻引擎的自定义数据导出插件
- std::ranges::elements_view,用于自定义类似元组的数据
- 跟随整数索引列表的自定义类迭代器
- 参数化自定义CMake工具链
- 使用自定义比较函数使用std::sort()对矢量字符串进行排序时出现问题
- 如何在自定义类中启用'auto loops'?
- C++:main() 未捕获的异常的自定义格式
- 为什么我的指针在 main 中取消引用后具有不同的值,而不是在我自己的自定义函数中取消引用它时?
- 谷歌基准自定义main
- 实现自定义Main函数
- xcode中的c++:在main中调用自定义对象中的任何(!!!!)方法时出错