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;