2015-12-21 122 views
1

我想在基准测试开始与Google基准测试库一起运行之前调用一个自定义主要功能。这样我可以设置几件事情。我搜索了很多,但我无法找到任何东西。我应该手动修改宏吗?或者直接使用我的主函数并自己初始化基准。会以任何方式影响库初始化?有没有另一种方式,而不需要我修改该宏或复制它的内容?Google基准测试主要

benchmark\benchmark_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(); \ 
    } 

回答

3

BENCHMARK_MAIN()只是一个帮手宏,所以你应该能够定义你自己的main()版本是这样的:

int main(int argc, char** argv) 
{ 
    your_custom_init(); 
    ::benchmark::Initialize(&argc, argv); 
    ::benchmark::RunSpecifiedBenchmarks(); 
}