gprof
简介
gprof可以统计程序各个函数的运行时间与调用次数,还可以给出各个函数之间的调用关系。
使用方法
假设我生成一个可执行文件main
1. 编译时添加-pg命令
2. 执行可执行文件,在执行目录下会生成gmon.out文件
3. 使用命令gprof main gmon.out
,也可以使用gprof main gmon.out > profile.txt
将显示内容写入profile.txt文件中
cmake使用gprof
需要在CMakeLists.txt文件中添加如下脚本
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pg")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pg")
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pg")
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -pg")
CMAKE_CXX_FLAGS是C++编译需要的编译参数,CMAKE_C_FLAGS是C编译时的参数。使用者可以根据自己的实际情况删减。