2015-12-21 124 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(); 
}