配置文件OpenCV与sprof

时间:2017-01-31 01:26:51

标签: c++ cmake profiling gprof sprof

我有这个基本的OpenCV代码:

#include "opencv2/opencv.hpp"

int main(){
    cv::Mat img = cv::imread("/home/luca/Documents/IMG_20161031_162242.jpg", cv::IMREAD_GRAYSCALE);
    if(!img.data)
        std::cerr<<"Error reading image"<<std::endl;
    return 0;
}

我想对其进行分析以使cv::imread平行(并尝试对许多其他函数执行相同操作。

阅读this文章,我应该做些什么来分析共享库(在我的情况下为opencv)我应该:

  

1)以debug(-g)模式编译共享库(libmylib.so)。没有   -pg。 2)export LD_PROFILE_OUTPUT = pwd 3)export LD_PROFILE = libmylib.so 4)rm -f $ LD_PROFILE.profile 4)执行你的   加载libmylib.so的程序5)sprof PATH-TO-LIB / $ LD_PROFILE   $ LD_PROFILE.profile -p&gt; log 6)查看日志。

我有一些问题:

  1. 我现在如何共享库调用cv::imread
  2. 我不知道cmake -DCMAKE_BUILD_TYPE=DEBUG ...是否包含-g(实际上我不这么认为)。阅读here我可以通过编辑CMakeLists.txt
  3. 来完成此操作

    set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g")

    但我不知道在CMakeLists.txt

    中设置它的位置

0 个答案:

没有答案