【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

有过嵌入式开发经验的同学,大约对交叉编译器不陌生。交叉编译器一般在pc上运行,编译的镜像文件运行在arm或者是mips开发板。它可以编译纯bin文件,也可以编译基于os的app文件。如果是设备商,编译器一般是soc厂商提供的。如果是soc厂商,那么编译器一般是研发中心提供的。可是,大家知道编译器包括了哪些内容吗?其实交叉编译器包含了很多内容。

1、gcc编译器

gcc高版本一般是由低版本的gcc生成的。gcc还依赖于其他库,比如mpfr、gmp、mpc。

2、binutils

binutils工具库一般包含了ar、objdump、as、ld、readelf等很多有效的工具。

3、linux kernel头文件

有人说,linux kernel头文件有什么用,其实主要是用来编译glibc用的。

4、uclibc或者glibc

uclibc或者glibc提供了大家常用的一些动态库、静态库。这其中包括了libm、libc、ld等等。

5、libpthread

如果以后需要编译多线程代码的话,那么libpthread是少不了的,而libpthread和glibc是分开来编译的。

6、gdb

很多人认为gcc和gdb是一起的,其实两者是分开来编译的。gcc编译后,一般也要一个gdb工具,调试总是少不了的。

其他:

a、gcc一般编译两次,一次不支持共享库,一次支持共享库

b、gdb一般需要和gdb server配合使用,gdb server需要包含在rootfs里面

c、如果自己想尝试制作一下交叉编译器,可以选择buildroot来自动编译

随想录(你所不知道的交叉编译器)相关推荐

  1. 你所不知道的C和C++运行库

    你所不知道的C和C++运行库 周五晚,小雨,少见的未加班.无聊,遂准备写一篇博客,介绍一下C和C++运行库,只因发现工作几年的人对此一知半解的大有人在. 在使用VC构建项目时,经常会遇到下面的链接错误 ...

  2. 那些你所不知道的arXiv使用技巧

    作者:Tom Hardy Date:2020-12-23 来源:那些你所不知道的arXiv使用技巧

  3. 系统调优,你所不知道的TIME_WAIT和CLOSE_WAIT

    https://my.oschina.net/fdhay/blog/638631 高性能网络 | 你所不知道的TIME_WAIT和CLOSE_WAIT 2016-02-18 大房 大房说 本文是我将最 ...

  4. ai的弹窗点了都不响应_【评价集合】拼多多评价,你所不知道的点都在这里!...

    对于在拼多多开店的商家们来说,评价是消费者对于商品的好坏程度的一个评分,评价的高低不仅仅会影响到商品的销量,更会影响转化率以及权重!所以为了店铺商品的长远发展打算!各位商家在求取出评.好评的道路上不断 ...

  5. python 函数调用 不允许关键字参数_你所不知道的Python|函数参数的演进之路

    原标题:你所不知道的Python|函数参数的演进之路 函数参数处理机制是Python中一个非常重要的知识点,随着Python的演进,参数处理机制的灵活性和丰富性也在不断增加,使得我们不仅可以写出简化的 ...

  6. 你所不知道的日志异步落库

    https://www.cnblogs.com/scy251147/p/9193075.html 在互联网设计架构过程中,日志异步落库,俨然已经是高并发环节中不可缺少的一环.为什么说是高并发环节中不可 ...

  7. 被低估的css滤镜,你所不知道的 CSS 滤镜技巧与细节

    本文主要介绍 CSS 滤镜的不常用用法,希望能给读者带来一些干货! 系列 CSS 文章汇总在我的 Github ,持续更新,欢迎点个 star 订阅收藏. OK,下面直接进入正文.本文所描述的滤镜,指 ...

  8. 国际计算机思维比赛,少儿编程领域中,你所不知道的国际计算思维大赛

    原标题:少儿编程领域中,你所不知道的国际计算思维大赛 孩子学习编程,除了培养编程思维和计算思维,也能为未来应对人工智能时代打下基础.今天给大家讲的的是Bebras国际计算思维大赛,请大家持续关注坚果学 ...

  9. 你所不知道的setTimeout

    JavaScript提供定时执行代码的功能,叫做定时器(timer),主要由setTimeout()和setInterval()这两个函数来完成.它们向任务队列添加定时任务.初始接触它的人都觉得好简单 ...

最新文章

  1. java开发app教程,进阶加薪全靠它!
  2. jquery validation remote进行唯一性验证时只使用自定义参数,不使用默认参数
  3. java invalidate_Java Component.invalidate方法代码示例
  4. Clojure 学习
  5. 大二暑假工作三个月后辞职,总体感悟
  6. Python语言实现用requests和正则表达式方法爬取猫眼电影排行榜前100部电影
  7. 单片机从00到99c语言,跪求单片机0~99数码管显示用C语言编写的程序
  8. CCF201903-1 小中大(100分)【序列处理】
  9. 四、数组定义/冒泡排序的理论/什么是方法
  10. 场编码MBAFF相关
  11. 华泰证券 python 自动交易软件_量化自动交易软件开发,搬砖交易机器人系统开发...
  12. 机器学习与数学基础知识(二)
  13. Java、python、数据分析精美简历模板
  14. Linux不能识别usbasp,USBasp制作资料及全过程(菜鸟版)
  15. 学 C++ ,能不能简单点?
  16. rxjava背压_Android RxJava :图文详解 背压策略
  17. 物联网模块ESP8266-01S实现PC端和Android APP同时连接通信
  18. Android播放M3U8格式视频失败
  19. 数据结构中各种排序算法的稳定性比较
  20. Word文字报告自动与Excel数据同步更新

热门文章

  1. 如何优雅的设计 React 组件
  2. JavaScript深入之从原型到原型链
  3. angularjs 模块化
  4. tomcat PermGen space 不足的解决方法
  5. IP地址专题二:子网掩码入门
  6. Java线程安全队列Queue实现原理
  7. c 宏变量/宏函数/log
  8. 浅拷贝(副本)与深拷贝
  9. 六省联考2017 Day1
  10. 由于 web 服务器上此资源的访问控制列表(acl)配置或加密设置,您无权查看此目录或页面。...