美文网首页
lookbusy arm平台静态编译

lookbusy arm平台静态编译

作者: BenjaminU | 来源:发表于2021-09-09 18:49 被阅读0次

基础知识:

  • lookbusy: 用来生成虚假的负载的Linux工具;它的作用:
    1. 生成固定的、可预测的 CPU 负载(generate fixed, predictable loads on CPUs)
    2. 保持选定部分的内存活动(keep chosen amounts of memory active)
    3. 生成你需要的任何大小的磁盘流量(generate disk traffic in any amounts you need)
  • 交叉编译:在一个平台上生成另一个平台上的可执行代码,例如本篇在Linux上编译arm平台应用;
  • 静态链接:生成的程序包含程序运行所需要的全部库,不依赖系统库,可以直接运行,因此静态链接生成的程序体积较大;

编译环境

编译步骤:

./configure --host=arm-linux-gnueabihf LDFLAGS=-static  # --host指定gcc版本,LDFLAGS指定静态编译
make
make install 
which lookbusy # 查找生成的lookbusy 文件

验证

  1. 通过scp将生成的lookbusy拷贝到arm开发板;
  2. 在arm开发板运行以下命令,进行验证;
./lookbusy -c 90 # 加90%的cpu负载
top # 此时cpu在90%左右

问题及解决办法:

  • 编译时出现“undefined reference to rpl_malloc” 问题
    方案一
    打开config.h.in,把如下两句删掉, 重新make即可。
    注: 修改config.h.in后,不需要再次configure,因为再次configure可能会重新生成config.h.in,导致下面的这两句又出现在config.h.in里面。
#undef malloc
#undef realloc

方案二
打开configure,发现里面有 #define malloc rpl_malloc 一行。分析 configure 脚本相关的代码,原来是ac_cv_func_malloc_0_nonnull 引起的,OK我们不让它检查了,产生一个cache文件arm- linux.cache,欺骗configure:

[root@linux tslib]# echo "ac_cv_func_malloc_0_nonnull=yes" > arm-linux.cache
[root@linux tslib]# ./configure --prefix=$(pwd)/install --host=arm-linux --cache-file=arm-linux.cache

参考

相关文章

  • lookbusy arm平台静态编译

    基础知识: lookbusy: 用来生成虚假的负载的Linux工具;它的作用:生成固定的、可预测的 CPU 负载(...

  • Linux上交叉编译环境配置

    基础知识: 交叉编译:在一个平台上生成另一个平台上的可执行代码,例如本篇在Linux上编译arm平台应用; 静态编...

  • UPX /src/stub/Makefile 编译 armv7

    编译不同平台对应的 GCC 不同,这个是编译为 arm32,对应的 gcc 是 arm-linux-android...

  • 音视频系列---1.3交叉编译

    概念 交叉编译:某个平台上,编译另一种平台的可执行程序,就是交叉编译,比如在 x86 平台上,编译 arm 平台的...

  • 从源码编译 Qt

    这里介绍了ARM平台交差编译和x86平台编译 下载解压 qt-everywhere-opensource-src-...

  • 完成arm平台编译

    最近这个事情把我搞得都有点佛了,晚上睡觉都在想。早上清醒地记得,晚上做了几次编译。昨天晚上下班的时候,自动运行了一...

  • arm平台源码编译

    正文开始之前先分享一个有趣的事情。 我们食堂在3楼,是顶楼。不过还有往天台的楼梯。今天晚上出食堂准备下楼的时候,看...

  • Qt5.7与tslib的交叉编译记录

     平台是itop-4412开发板,编译器是arm-2014.05-29-arm-none-linux-gnueab...

  • WebRTC arm-linux库编译

    安装交叉编译工具 WebRTC的工程已经支持arm-linux平台库的编译 编译环境ubuntu14.04 然后执...

  • 4.16.2内核编译,并在imx6ul上使用

    #!/bin/bash #声明所用的平台 export ARCH=arm #配置所用的编译器,本次赢得编译器...

网友评论

      本文标题:lookbusy arm平台静态编译

      本文链接:https://www.haomeiwen.com/subject/nxcwwltx.html