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

    文章

    3541

    浏览量

    88639
  • C++
    C++
    +关注

    关注

    22

    文章

    2108

    浏览量

    73630
  • 编译器
    +关注

    关注

    1

    文章

    1624

    浏览量

    49113
收藏 人收藏

    评论

    相关推荐

    Java开发嵌入式开发

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

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

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

    嵌入式开发圣经

    嵌入式系统开发圣经:嵌入式开发圣经
    发表于 03-25 13:08 88次下载

    基于ARM的嵌入式开发

    基于ARM的嵌入式开发:华清远见/孙天泽基于ARM的嵌入式开发内容有:ARM简介,基于ARM的嵌入式产品,ARM架构,基于ARM的嵌入式开发
    发表于 10-04 08:49 83次下载

    嵌入式开发

    嵌入式开发就是指在嵌入式操作系统下进行开发嵌入式Linux是以Linux为基础的嵌入式作业系统。这里提供了
    发表于 12-20 13:21
    <b class='flag-5'>嵌入式开发</b>

    嵌入式开发入门_学嵌入式开发需要看哪些书籍

    现在嵌入式开发越来越吃香,很多人都想要学习却不知道要从何下手。本文分析了学习嵌入式软件开发需要具备哪些基本知识和技能,开发学习的基本步骤,并给出了各种参考资料及网站,同时小编还推荐了学
    的头像 发表于 04-04 10:25 2.5w次阅读

    嵌入式开发好学吗_嵌入式开发职业发展方向是什么

    本文首先来了解一下嵌入式前景及薪资待遇,其次解答了嵌入式开发好学不好学的问题,最后阐述了嵌入式开发必会知识以及嵌入式开发职业的四大发展方向,具体的跟随小编一起来了解一下。
    的头像 发表于 05-18 16:41 9169次阅读

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

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

    嵌入式开发(一):嵌入式开发新手入门

    本篇文章整理下嵌入式开发中一些入门的基础技能,都是根据以往的工程经验整理,适用于之前没做过嵌入式开发的新手。嵌入式开发流程一般如下,一般是在PC机的Windows系统下安装Ubuntu虚拟机,搭建
    发表于 10-14 10:58 79次下载
    <b class='flag-5'>嵌入式开发</b>(一):<b class='flag-5'>嵌入式开发</b>新手入门

    嵌入式开发资料免费分享

    嵌入式开发资料免费分享嵌入式工程师经验分享:如何学习嵌入式开发截取文档部分学习嵌入式工程师经验分享的资料分享给大家,文档上从、嵌入式系统的概
    发表于 10-21 11:07 47次下载
    <b class='flag-5'>嵌入式开发</b>资料免费分享

    嵌入式开发Linux入门

    调试器嵌入式开发的流程步骤1:开发引导加载程序步骤2:内核实现步骤3:创建模块(设备驱动程序)步骤4:创建应用程序步骤5(最后一步):系统调整结束语导语近年来,“嵌入式设备”对Linux的采用越来越多。Linux标准拥有的许
    发表于 11-02 14:36 31次下载
    <b class='flag-5'>嵌入式开发</b>Linux入门

    python做嵌入式开发_Python和嵌入式的区别是什么?可以做嵌入式开发吗?

    从概念上来说,嵌入式和Python的区别还是比较明显的,嵌入式是一个开发领域,而Python则是一门编程语言。下面就来和大家说一说嵌入式和Python这两个之间的区别。
    发表于 11-02 20:21 14次下载
    python做<b class='flag-5'>嵌入式开发</b>_Python和<b class='flag-5'>嵌入式</b>的区别是什么?可以做<b class='flag-5'>嵌入式开发</b>吗?

    嵌入式开发培训学什么?嵌入式开发板知识讲解

    嵌入式开发就是指在嵌入式操作系统下进行开发,一般常用的系统有WinCE,ucos,vxworks,linux,android等。另外,用c,c++或汇编开发;用高级处理器,arm7,a
    发表于 11-02 20:21 16次下载
    <b class='flag-5'>嵌入式开发</b>培训学什么?<b class='flag-5'>嵌入式开发</b>板知识讲解

    嵌入式开发 ---必看图书

    1.《linux驱动设备驱动开发详解》 基于linux4.0 是目前主流的 嵌入式开发用的系统 整个开发流程很详细,是嵌入式开发的入门之选,
    发表于 11-03 13:06 12次下载
    <b class='flag-5'>嵌入式开发</b> ---必看图书

    嵌入式开发蜂鸣器代码

    嵌入式开发蜂鸣器代码
    发表于 03-29 17:04 3次下载