博客
关于我
复习5 ---- 三种平台流程开发,交叉编译,souceinsight ,notpad ,free -hex
阅读量:278 次
发布时间:2019-03-01

本文共 1240 字,大约阅读时间需要 4 分钟。

GCC编译器及其应用

GCC名词解释

GNU 项目旨在创建一个自由软件操作系统,类似于Unix系统。由于GNU核心项目尚未完成,GNU采用Linux内核,形成了GNU/Linux操作系统。许多用户可能将其误称为Linux。

GCC介绍

GCC(GNU Compiler Collection)是Linux系统中主要的编译器工具。其全称为GNU编译器套件,最初专为GNU操作系统设计。GCC不仅支持C语言,还支持C++、Java等多种语言的编译。

为什么使用GCC?

  • 功能强大:支持多种语言和标准。
  • 稳定性:经过长期开发,版本迭代稳定。
  • 开源免费:无使用成本,适合开发和学习。

交叉编译模式

定义

交叉编译是指在一个平台上编译适用于另一个平台的程序。例如,在X86平台使用arm-linux-gcc编译ARM架构程序。

应用场景

嵌入式开发中,通常将编译任务交给宿主机完成(如PC上的Ubuntu系统),然后下载到目标机(如ARM开发板)运行。

实践步骤

  • 在X86系统上使用arm-linux-gcc编译ARM程序。
  • 将编译好的程序烧录到ARM开发板。
  • 在开发板上运行程序。
  • Source Insight使用说明

    环境配置

  • 文件过滤设置

    在“文件选项”中,将C源文件类型设置为*.c;*.h;*.S,确保所有相关文件被识别。

  • 新建项目

    通过“项目”菜单,选择“新建工程”,并添加相关源文件。

  • 编译与连接

    使用“重建项目”功能,确保工程按正确配置编译和连接。

  • 字体设置

    在“文件选项”中,设置字体为宋体、12号,确保显示正确性。使用快捷键Alt + F12调整字体等宽。

  • 窗口功能

  • 项目窗口

    显示项目文件列表,方便管理和导航。

  • 主窗口

    实时显示代码内容,支持语法高亮和调试功能。

  • 符号窗口

    展示函数、结构体、宏定义等信息,帮助快速定位。

  • 上下文窗口

    当光标放在函数或变量上时,显示其定义位置,便于快速查找。

  • 行号显示

    使用“查看”菜单中的“行号”功能,方便定位代码位置。

  • 快速跳转

    工具栏中的“跳转到行”功能支持快速定位特定行。

  • 关键词高亮

    光标放置关键词,右键选择“高亮关键词”功能。

  • 函数定义位置

    光标放在函数上,右键选择“跳转到定义”或使用Ctrl + 鼓查看定义位置。

  • 查找功能

    右键菜单中的“查找参考”功能支持快速查找函数、变量等信息。

  • free-hex-editor功能说明

    基本功能

    free-hex-editor是一个功能强大的二进制编辑器,支持查看和编辑二进制文件。

    显示设置

  • 偏移格式

    可选择字节、双字节等显示方式,方便不同场景使用。

  • 显示风格

    支持十六进制、十进制、无符号等显示模式。

  • 数据行显示

    可设置每行显示的字节数,灵活调整显示内容。

  • 字节显示选项

    • 字节显示:以单字节形式显示数据。
    • 双字节显示:以两个字节为一组显示数据。
    • 四字节显示:以四字节为一组显示数据。

    这些设置使得编辑器适用于不同需求场景。

    通过以上工具和方法,开发者可以高效完成编程和调试工作。

    转载地址:http://wtga.baihongyu.com/

    你可能感兴趣的文章
    PIL&QOOT;IOERROR:带有大图像的图像文件被截断(&Q)
    查看>>
    PIL.Image、cv2的img、bytes相互转换
    查看>>
    PIL.Image进行图像融合显示(Image.blend)
    查看>>
    pilicat-dfs 霹雳猫-分布式文件系统
    查看>>
    Pillow lacks the JPEG 2000 plugin
    查看>>
    SpringBoot之ElasticsearchRestTemplate常用示例
    查看>>
    ping 全网段CMD命令
    查看>>
    ping 命令的七种用法,看完瞬间成大神
    查看>>
    Pinia入门(快速上手)
    查看>>
    Pinia:$patch的使用场景
    查看>>
    Pinia:$subscribe()的使用场景
    查看>>
    Pinpoint对Kubernetes关键业务模块进行全链路监控
    查看>>
    Pinterest 大规模缓存集群的架构剖析
    查看>>
    pintos project (2) Project 1 Thread -Mission 1 Code
    查看>>
    PinYin4j库的使用
    查看>>
    PIP
    查看>>
    pip install goose-extractor // SyntaxError: Missing parentheses in call to 'print'
    查看>>
    pip install mysqlclient报错
    查看>>
    pip install 出现报asciii码错误的解决
    查看>>
    pip throws TypeError: parse() got an unexpected keyword argument ‘transport_encoding‘ 在尝试安装新软件包时
    查看>>