android __gnu_mcount_nc问题解决

来源:互联网 发布:mac du max depth 编辑:程序博客网 时间:2024/06/05 12:45

android __gnu_mcount_nc问题解决

  • 问题:
    假设下面的gcc指向 android工具链的gcc ,
    sysroot指向对应平台版本的库,头文件路径

    gcc -pg main.c –sysroot=’android-platform…’

    undefined reference to ‘__gnu_mcount_nc’

    我没有调用这个 _gnu_mcount_nc函数 ,赠么会提示__gnu_mcount_nc未定义呢?
    原来这个-p参数的原因

    -p : 把分析信息添加到最终的二进制代码中, 就编译的时候gcc会在你的每个函数中 插入一些东西,其实就是 __gnu_mcount_nc 调用。 arm profiling implementation

  • 如何解决这问题:

    1. 去掉 -p 编译参数2. 添加这个函数的实现 

    github上的一个哥们的实现 android-ndk-profiler