1、下载gprof支持库

下载地址: http://code.google.com/p/android-ndk-profiler/

2、代码上的修改添加

在初始化时:

monstartup("yourlib.so");

  在退出时添加:

setenv("CPUPROFILE", "/sdcard/gmon.out", 1);
moncleanup();

3、makefile文件修改:

由于-pg 和 -fomit-frame-pointer -ffunction-sections不能兼容,所以后两个编译参数不能用。

PIG = -pg
include=$(profiler_home)/android-ndk-profiler
libs += $(profiler_home)/android-ndk-profiler/armeabi/libandroid-ndk-profiler.a

4、在android手机上运行程序

adb pull /sdcard/gmon.out .
gprof yourlib.so

5、注意事项

有的时候出来的gmon.out,导出来的没有函数消耗时间统计。这个时间,就把monstart和moncleanup放在占用时间大的那个函数里面试试。

最新文章

  1. thinkphp-二次开发1
  2. Python3 升级pip
  3. Java多线程系列--“JUC集合”01之 框架
  4. [翻译]opengl扩展教程1
  5. ubuntu彻底卸载mysql
  6. CSS3中的Transition属性详解(贝赛尔曲线)
  7. C# 线程(二):关于线程的相关概念
  8. Objective-C传递数据小技巧
  9. dump_stack的简单使用 +CALL TREE
  10. 周赛D题
  11. 简单JS多级下拉框无刷新
  12. shu_1186 字符排列问题
  13. 利用jQuery接受和处理xml数据
  14. MFC知识点整理
  15. iOS开发经常使用宏定义
  16. 5.volatile的应用
  17. javascript第四章--面向对象的程序设计
  18. 34.Linux-printk分析、使用prink调试驱动
  19. My97DatePicker日期控件,开始时间不能大于结束时间,结束时间不能小于开始时间
  20. 如何解决failed to push some refs to git

热门文章

  1. mysql初始化
  2. java——volatile的可见性不能保证线程安全
  3. oracle merge into与sqlserver merge into 比较
  4. 笔记-spring aop 原理学习2
  5. RTT之POSIX
  6. 摄像机模型 (Camera Model)
  7. 基于Python实现邮件发送
  8. 05-spring整合jdbc-jdbc模板对象JdbcTemplate
  9. 60、Docker 学习笔记(CentOS 7.1)
  10. Powershell(1)