0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CDT 4.0嵌入式开发的更多功能

星星科技指导员 来源:嵌入式计算设计 作者:Doug Schaefer 2022-08-12 09:32 次阅读

2006 年对于 Eclipse C/C++ 开发工具 (CDT) 环境来说是具有里程碑意义的一年,几乎在项目的每个领域都有增长。目前,开发人员每月下载 CDT 超过 85,000 次(高于 2006 年初的 60,000 次),并且有十几个提交者正在开发下一个 CDT 版本。同时,许多工具供应商现在重新分发 Eclipse 和 CDT 及其产品,特别是在 CDT 已成为事实上的标准开发环境的嵌入式市场。

CDT 中有什么

CDT 主要关注软件开发的编辑、构建和调试周期。它的主要目标是提高程序员用 C 和 C++ 编写代码的效率,同时利用开发人员已经用于构建和调试的高质量工具链。最初,CDT 项目专注于使用 GNU 工具链的开发人员,包括 gcc 和 gdb,这是迄今为止开源社区中最流行的工具集。但是,CDT 项目现在也支持其他环境,直接或通过商业供应商提供的基于 CDT 的环境。

CDT 遵循与其他基于 Eclipse 的开发环境相同的用户界面和项目资源结构。用户界面包含一组视图和编辑器,这些视图和编辑器显示为 Eclipse 窗口的选项卡式部分。视图显示有关项目的各种信息,编辑器允许开发人员更改项目中的文件。可以将视图组织到称为透视图的页面中,这些页面可以自定义视图的布局以用于各种目的,例如编辑和调试。用户还可以根据自己的特定需求调整和保存视角。图 1 显示了 C/C++ 透视图。

图 1: C/C++ 透视图

pYYBAGL1rc6AE_aVAAsiCQLnpGw651.png

Eclipse 中的项目是用户使用的顶级资源。通常,项目映射到用户文件系统中的根目录。Eclipse 插件可以递归地访问该目录及其子目录中的每个文件。Eclipse 还提供了将其他文件和目录链接到项目结构中的机制,但不提供排除文件的通用机制。

Eclipse 平台提供对文件和项目的管理。CDT 扩展了这种管理以区分源文件、目标文件和其他文件类型;它还提供文件内容的结构化表示。使用这种表示,CDT 填充大纲视图(显示当前文件中的目录)和 C/C++ 项目视图(显示可用项目中的目录)。

CDT 核心还维护每个项目的符号数据库。这个称为索引的数据库允许许多功能提供源代码分析和导航。例如,用户可以在源代码中选择一个函数名称并进行搜索以找到对该函数的所有引用。然后,用户可以调用重命名重构功能来更改整个项目中该函数的名称。

CDT 编辑器提供了开发人员在高级集成开发环境 (IDE) 中所期望的许多生产力功能。最大的生产力增强器是内容辅助功能,它使用来自 CDT 的内置解析器的信息来提供有效的代码完成,给定当前包含光标的上下文。编辑器还提供代码着色,区分关键字和标识符以增强代码可读性,以及括号匹配和自动制表符,使复杂的代码结构更容易输入。

CDT 还包含以下两个构建系统:

标准构建:重用用户现有的构建基础设施。此功能对于在传统 make 文件上投入巨资以确保高质量、可重复构建的项目团队尤其重要。

托管构建:允许工具供应商提供高级用户界面来设置编译和链接选项;它还自动调用构建。托管构建对于新项目和宁愿花时间编写源代码而不是创建构建文件的用户很有用。

CDT 调试透视图提供了调试会话的可视化(参见图 2)。原生调试器(如 gdb)处理执行应用程序、设置断点和提取变量值的具体细节。表 1 总结了调试透视图提供的可视化。

此视图显示器

调试当前调试会话以及正在调试的应用程序的线程和堆栈帧

变量当前堆栈帧的变量值

登记CPU 寄存器的当前值

记忆内存的二进制内容

拆卸当前执行位置的指令的汇编代码

表格1

图 2: CDT 调试透视图提供了调试会话的可视化

poYBAGL1rdWAZzkmAAmw5Idwmw8888.png

CDT 4.0 中的新功能

随着 CDT 贡献者的大量涌入,新版本将引入一些令人兴奋的功能,以改善用户体验、提高生产力并提供更大的可扩展性。正在开发的功能包括:

内部构建器:通过消除处理 make 文件的需要来提高构建性能。为了确定构建必须处理哪些文件,Internal Builder 使用 Eclipse 跟踪文件更改的能力并使用存储在 CDT 源索引中的文件间依赖关系信息。构建器可以并行化编译器以在多核机器上提供更快的构建时间。

支持预建索引信息:为了进一步提高索引性能,CDT 索引器将允许软件开发工具包 (SDK) 供应商,包括主要操作系统供应商,为 SDK 提供的头文件预建索引信息。索引器然后可以将此信息与用户代码的索引集成,从而无需在用户环境中解析 SDK 头文件。

增强的索引信息: CDT 团队增强了捕获的索引信息以启用新的导航

和源代码分析视图。Call Hierarchy View(图 3)允许在函数和它们调用或被调用的函数之间导航。Include Hierarchy View 允许基于包含关系在文件之间导航,Type Hierarchy View 可以基于继承关系在 C++ 类之间导航。

图 3:调用层次结构视图

pYYBAGL1rbiAWL7zAADZjBca8XM463.jpg

对 Windows SDK 的支持:最近,Microsoft 提供了它的编译器作为其 Windows SDK 的免费下载。CDT 4.0 将包括构建和调试支持,让这些工具与 CDT 项目一起工作。因此,开发人员将不再需要在 Windows 上使用 GNU 工具,这些工具由于需要仿真环境(如 cygwin)或不完整的 SDK 支持(如 mingw)而存在问题。这种构建和调试支持还将为 Visual Studio 用户在未来将他们的项目迁移到 CDT 打开大门。

项目生成框架:许多针对特定平台的 IDE 可以为各种项目类型生成框架项目。例如,桌面 GUI 应用程序的项目可以生成足够的源代码以使框架运行并在屏幕上显示窗口。此样板代码为开发人员在构建项目时提供了一个良好的开端。CDT 4.0 将为此类项目生成提供框架。

CDT 4.0 将成为 CDT 的里程碑式版本。除了允许 CDT 团队确定 API 之外,该版本还引入了新功能,使 CDT 成为所有开发人员构建 C/C++ 应用程序的有吸引力的环境,无论他们针对哪个平台。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • WINDOWS
    +关注

    关注

    3

    文章

    3438

    浏览量

    87142
  • C++
    C++
    +关注

    关注

    21

    文章

    2066

    浏览量

    72899
  • 编译器
    +关注

    关注

    1

    文章

    1576

    浏览量

    48606
收藏 人收藏

    评论

    相关推荐

    嵌入式开发要学什么内容 嵌入式开发学习路线介绍

    `  嵌入式开发技术曾经一直处于不温不火的状态,自物联网飞速发展之后,运用嵌入式系统的领域越发广阔。嵌入式开发技术人才也同样随着趋势需求加大。更多的年轻人选择
    发表于 03-01 10:13

    嵌入式开发教程之程序设计与开发维护

    管理、系统维护知识、系统评价知识。  上述为创客学院嵌入式linux培训讲师为读者分享的嵌入式开发教程之程序设计与开发维护介绍,更多关于嵌入式开发
    发表于 05-26 14:59

    嵌入式开发要学什么内容 嵌入式开发学习路线介绍

     嵌入式开发技术曾经一直处于不温不火的状态,自物联网飞速发展之后,运用嵌入式系统的领域越发广阔。嵌入式开发技术人才也同样随着趋势需求加大。更多的年轻人选择
    发表于 06-30 10:07

    嵌入式开发要学什么内容 嵌入式开发学习路线介绍

    嵌入式开发技术曾经一直处于不温不火的状态,自物联网飞速发展之后,运用嵌入式系统的领域越发广阔。嵌入式开发技术人才也同样随着趋势需求加大。更多的年轻人选择
    发表于 07-27 09:49

    嵌入式开发要学什么?

      随着智能硬件的迅速发展,越来越多的人把目光投向了嵌入式开发,想要更快进入嵌入式开发领域,先来了解一下嵌入式开发要学什么?  以下是学员总结的心得,具体嵌入式开发要学什么?看完下面的
    发表于 09-06 16:21

    嵌入式是什么? 嵌入式开发是什么意思?

    `  在科技发达的今天,人们对于生活质量也有了更高层次的追求,那就不得不引入嵌入式这项技术了,嵌入式开发被越来越多的人所熟知。那么,究竟什么是嵌入式呢?嵌入式开发是什么意思呢?接下来,
    发表于 07-26 15:58

    嵌入式开发要学什么

    [td] 最近遇到很多处于迷茫中的新手,在纠结要不要去学嵌入式,主要问题在于嵌入式的门槛非常高,经验少、或者非电子专业投身嵌入式行业能否发展下去。现在嵌入式开发行业的确发展很好,大多数
    发表于 01-18 06:36

    嵌入式开发是什么意思

    嵌入式开发就是指在嵌入式操作系统下进行开发,包括在系统化设计指导下的硬件和软件以及综合研发。除暂且分离硬件的EDA研发以外,侧重的就是在一定硬件条件下的系统化设计和软件研发。定义嵌入式开发
    发表于 10-28 08:35

    Java开发嵌入式开发

    、Android开发和大数据开发等领域,这些领域也都有大量的岗位需求。从行业发展趋势来看,随着5G标准的落地以及产业互联网的发展,未来物联网领域的发展前景将非常广阔,而嵌入式开发作为物联网开发
    发表于 11-05 08:02

    嵌入式开发调试经验分享

    嵌入式开发过程中的一点调试经验嵌入式开发最麻烦的在现场调试过程中或实际运营过程中出现问题很难定位。我在实际开发过程中一点经验分享给大家嵌入式开发调试分为
    发表于 11-05 08:15

    究竟什么是嵌入式开发

    什么是嵌入式开发嵌入式开发,一般是指针对某个特定嵌入式系统的开发嵌入式系统广义上可以认为是功能
    发表于 11-08 06:13

    嵌入式开发就业方向的问题

    近几年来随着物联网的快速发展,嵌入式开发技术在我们的生活中随处可见,目前嵌入式开发工程师在市场上的需求量大,薪资也是水涨船高。上海尚观科技今天主要是想给一些嵌入式开发的初学者们,具体说说嵌入式
    发表于 11-08 07:58

    多功能嵌入式解码软件的相关资料分享

    使用方法第四章多功能嵌入式解码软件(4)  在UARTTOOL中使用类库概述  在嵌入式开发的过程中,由于经常需要下位机与上位机通信,通信之间...
    发表于 12-20 08:05

    什么是嵌入式?单片机开发嵌入式开发的区别在哪

    一、初识嵌入式1.1 什么是嵌入式?1.1.1单片机开发:1.1.2嵌入式开发:1.2 单片机开发嵌入
    发表于 02-24 06:29

    嵌入式开发的产品有哪些_嵌入式开发的流程

    本文主要阐述了嵌入式开发的产品,其次介绍了嵌入式开发的流程。
    发表于 08-31 15:38 1.1w次阅读