栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Linux调试私房菜(二)嵌入式 C 语言编译器

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux调试私房菜(二)嵌入式 C 语言编译器

五、嵌入式 C 语言编译器 1. GCC与gcc有什么不同?
  • GCC ( GNU Compiler Collection )
    • GNU编译器集合,包含众多语言的编译器
      • C(gcc),C++(g++),Java, D, Objective-C, 等.
  • gcc
    • 特指GCC中的C语言编译器
2. GCC VS 嵌入式
  • 多数嵌入式操作系统都基于GCC进行源码编译
    • Linux, VxWorks, Android , 等.
  • 实际开发中的使用
    • 内核开发:gcc
    • 应用开发:gcc / g++ / gdc
3. 什么是交叉编译?
  • 背景
    • 嵌入式设备往往资源受限
    • 不可能在嵌入式上直接对处理器进行编程
  • 解决方案
    • 在开发主机(PC)上对源码进行编译
    • 最终生成目标主机(嵌入式设备)的可执行程序
4. gcc是如何进行交叉编译的?
  • 配置目标主机的编译工具链(如: arm-linux )
  • 配置工具链的具体版本
    • 根据具体的目标代码选择相应的工具链版本
    • 正确使用关于硬件体系结构的特殊编译选项
5. 案例:大型企业嵌入式开发环境

6. 初识编译器

7. 你不知道的事。。。

8. 扩展问题:如何理解“多语言混合开发”? 9. 多语言混合开发方式一

语言 --> 语言

文本兼容

10. 行业案例: .net framework

11. 多语言混合开发方式二

dll:windows下动态链接库

语言 --> 二进制程序 --> 链接

二进制兼容

12. 行业案例:QQ

13. 多语言混合开发方式三

进程间通信

14. 行业案例:Eclipse

15. gcc关键编译选项一
  • 预处理指令
    • gcc -E file.c -o file.i
  • 编译指令
    • gcc -S file.i -o file.s
  • 汇编指令
    • gcc -c file.s -o file.o
16. gcc关键编译选项二
  • 生成映射文件
    • gcc -Wl,-Map=test.map file.c

  • 全局变量的地址和函数的地址在编译之后就已经确定。
  • 定义 宏定义
    • gcc -D'TEST="test"' file.c
  • 获取系统头文件路径
    • gcc -v file.c
17. gcc关键编译选项三
  • 生成依赖关系
    • 获取目标的完整依赖关系
      • gcc -M test.c
    • 获取目标的部分依赖关系
      • gcc -MM test.c
18. gcc关键编译选项四
  • 指定库文件及库文件搜索路径
    • -L 选项:指定库文件的搜索路径
    • -I  选项:指定库文件
      • gcc test.c -L. -Ifunc
        • . 是当前目录

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/976856.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号