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

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

3天内不再提示

CDT 4.0提高生产力并提供更大的可扩展性

星星科技指导员 来源:嵌入式计算设计 作者:Doug Schaefer 2022-06-22 11:30 次阅读

CDT 中有什么

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

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

图 1: C/C++ 透视图

poYBAGKyjOOAdoBjAAuJtWz4Sbw025.png

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

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

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

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

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

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

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

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

此视图显示器

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

变量当前堆栈帧的变量值

登记CPU 寄存器的当前值

记忆内存的二进制内容

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

表格1

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

poYBAGKyjO2AF7okAABN1FdwdG8374.png

CDT 4.0 中的新功能

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:调用层次结构视图

poYBAGKyjPWAHub-AAomrIUrxqI974.png

对 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

    文章

    3440

    浏览量

    87143
  • C++
    C++
    +关注

    关注

    21

    文章

    2066

    浏览量

    72899
  • 编译器
    +关注

    关注

    1

    文章

    1577

    浏览量

    48610
收藏 人收藏

    评论

    相关推荐

    工业级路由器如何提高你的生产力和工作效率?

    工业级路由器是提高你的生产力和工作效率的关键工具。它们提供了强大的数据处理能力、无缝的网络连接、实时安全防护、易于使用和管理、强大的兼容性和长期稳定性和可靠性。
    的头像 发表于 03-06 19:05 77次阅读
    工业级路由器如何<b class='flag-5'>提高</b>你的<b class='flag-5'>生产力</b>和工作效率?

    新质生产力哪些行业发展最好 如何提升新质生产力

    新质生产力的发展主要集中在新能源、新材料、先进制造、电子信息等战略性新兴产业。 新质生产力作为先进生产力的具体体现形式,是马克思主义生产力理论的中国创新和实践,是科技创新交叉融合突破所
    的头像 发表于 02-22 17:57 2605次阅读

    FPGA与AISC的差异

    扩展性较好,可以通过增加芯片数量或使用更大容量的芯片来满足更高的性能需求。而ASIC的扩展性相对较差,需要重新设计和制造。 验证和调试 :FPGA的验证和调试过程相对简单,可以在系统
    发表于 02-22 09:54

    分布式大屏控制系统的可扩展性设计

    分布式大屏控制系统的可扩展性设计是确保系统能够适应不断增长的需求和未来发展的关键因素。以下是可扩展性设计的几个方面: 模块化设计:将系统划分为多个模块,每个模块具有独立的功能和接口。这种设计方式使得
    的头像 发表于 01-29 14:46 202次阅读

    百度世界2023看点 文心大模型4.0正式发布 百度文库变身生产力工具

    百度世界2023看点 文心大模型4.0正式发布 百度文库变身生产力工具 百度世界大会2023于10月17日,以“生成未来(PROMPT THE WORLD)”为主题在北京首钢园举办。在在百度世界大会
    的头像 发表于 10-17 18:49 842次阅读
    百度世界2023看点 文心大模型<b class='flag-5'>4.0</b>正式发布 百度文库变身<b class='flag-5'>生产力</b>工具

    扩展性对物联网管理系统有哪些影响?

    扩展性对于物联网管理系统的设计和开发非常重要,它直接影响着系统的性能、可靠性和能耗等方面,是评估一个系统优劣的重要因素之一。可扩展性对物联网管理系统的影响主要体现在以下几个方面:
    的头像 发表于 10-11 15:15 249次阅读

    扩展性对物联网管理系统有哪些影响?

    :物联网管理系统的可扩展性意味着它可以支持各种不同的硬件平台和传感器设备,这使得企业可以根据实际需求选择适合的设备,并方便地与系统进行集成。    功能扩展:物联网管理系统的可扩展性还意味着它可以
    的头像 发表于 09-19 11:23 324次阅读

    Brocade SAN针对Fabric OS 9.x的可扩展性指导原则

    电子发烧友网站提供《Brocade SAN针对Fabric OS 9.x的可扩展性指导原则.pdf》资料免费下载
    发表于 09-01 11:28 0次下载
    Brocade SAN针对Fabric OS 9.x的可<b class='flag-5'>扩展性</b>指导原则

    IO扩展模块有哪些特点

    自动化领域中不可或缺的一部分,具有多样化的功能应用、灵活的安装和配置、高度的扩展性、实时性和稳定性以及广泛的适用范围等特点。这些特点使得IO扩展模块在工业生产中发挥着重要作用,为企业
    发表于 08-31 18:14

    适用于Brocade Fabric OS 8.X的Brocade SAN可扩展性指导原则

    电子发烧友网站提供《适用于Brocade Fabric OS 8.X的Brocade SAN可扩展性指导原则.pdf》资料免费下载
    发表于 08-29 15:21 0次下载
    适用于Brocade Fabric OS 8.X的Brocade SAN可<b class='flag-5'>扩展性</b>指导原则

    SD-WAN组网的可扩展性怎么样?

    等, 为企业提供一个适应性强且节约成本的网络方案。因此,SD-WAN组网非常适合业务发展处在上升期的企业, 它可以完美应对企业对于网络的需求。如果您想了解SD-WAN的可扩展性具体表现能力如何,可参考下文。 首先是网络规模的扩展性
    的头像 发表于 08-18 11:29 313次阅读

    什么是云计算的可扩展性

    不断增长的数据池需要巨额投资和劳动密集型管理,但云托管的全球采用已经彻底改变了我们所知的数据行业。除了成本效益和灵活性之外,选择云而不是本地架构的主要好处之一是能够轻松快速地扩展。那么什么是云计算的可扩展性
    的头像 发表于 08-08 17:46 1472次阅读

    TPS274C65有助于缩短24 VDC配电工厂停机时间并提高生产力

    在工业 4.0 时代,诊断数据量逐年递增,使系统变得更智能,能够保持更长的在线时间,并最终提高生产力。在可编程逻辑控制器 (PLC)系统、机器人和机床行业,传统上仍然缺乏诊断数据的一个领域是 24 VDC 电源,它用于为工厂中的
    的头像 发表于 07-04 11:16 819次阅读
    TPS274C65有助于缩短24 VDC配电工厂停机时间<b class='flag-5'>并提高</b><b class='flag-5'>生产力</b>

    HadaFS可扩展性和性能的优势

    HadaFS 的新型 Burst Buffer 文件系统,实现了可扩展性和性能的优势与数据共享和部署成本的优势的良好结合。 相关文章: 收藏:多家Burst Buffer存储技术解析(附下载) Burst Buffer技术为何在HPC如此盛行 一、背景   高性能计算(HPC)正在经历计算规模和数据爆发式增
    的头像 发表于 06-14 10:11 387次阅读
    HadaFS可<b class='flag-5'>扩展性</b>和性能的优势

    一款扩展性高的渗透测试框架渗透测试框架

    MYExploit 简介 一款扩展性高的渗透测试框架渗透测试框架(完善中) 只支持部分EXP 利用 使用声明 本工具仅用于安全测试目的 用于非法用途与开发者、本公众号无关 工具下载地址 【进入下方名片回复关键词:504】       审核编辑:彭静
    的头像 发表于 05-30 09:06 370次阅读
    一款<b class='flag-5'>扩展性</b>高的渗透测试框架渗透测试框架