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++ 透视图
eclipse 中的项目是用户使用的顶级资源。通常,项目映射到用户文件系统中的根目录。eclipse 插件可以递归地访问该目录及其子目录中的每个文件。eclipse 还提供了将其他文件和目录链接到项目结构中的机制,但不提供排除文件的通用机制。
eclipse 平台提供对文件和项目的管理。cdt 扩展了这种管理以区分源文件、目标文件和其他文件类型;它还提供文件内容的结构化表示。使用这种表示,cdt 填充大纲视图(显示当前文件中的目录)和 c/c++ 项目视图(显示可用项目中的目录)。
cdt 核心还维护每个项目的符号数据库。这个称为索引的数据库允许许多功能提供源代码分析和导航。例如,用户可以在源代码中选择一个函数名称并进行搜索以找到对该函数的所有引用。然后,用户可以调用重命名重构功能来更改整个项目中该函数的名称。
cdt 编辑器提供了开发人员在高级集成开发环境 (ide) 中所期望的许多生产力功能。最大的生产力增强器是内容辅助功能,它使用来自 cdt 的内置解析器的信息来提供有效的代码完成,给定当前包含光标的上下文。编辑器还提供代码着色,区分关键字和标识符以增强代码可读性,以及括号匹配和自动制表符,使复杂的代码结构更容易输入。
cdt 还包含以下两个构建系统:
标准构建:重用用户现有的构建基础设施。此功能对于在传统 make 文件上投入巨资以确保高质量、可重复构建的项目团队尤其重要。
托管构建:允许工具供应商提供高级用户界面来设置编译和链接选项;它还自动调用构建。托管构建对于新项目和宁愿花时间编写源代码而不是创建构建文件的用户很有用。
cdt 调试透视图提供了调试会话的可视化(参见图 2)。原生调试器(如 gdb)处理执行应用程序、设置断点和提取变量值的具体细节。表 1 总结了调试透视图提供的可视化。
此视图显示器
调试当前调试会话以及正在调试的应用程序的线程和堆栈帧
变量当前堆栈帧的变量值
登记cpu 寄存器的当前值
记忆内存的二进制内容
拆卸当前执行位置的指令的汇编代码
表格1
图 2: cdt 调试透视图提供了调试会话的可视化
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:调用层次结构视图
对 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++ 应用程序的有吸引力的环境,无论他们针对哪个平台。
普源精电收购解决方案提供商耐数电子
ascii字符对照表完整版
基于单片机和模块化技术实现多媒体教室控制系统的设计
同是弹性公网IP,华为云弹性公网IP的优势有哪些?
SolidWorks Simulation模拟整流子超速试验
CDT 4.0嵌入式开发的更多功能
SK电信和爱立信已经成功完成了5G独立组网的端到端测试
我国新能源公共充电桩 55.8 万个,位居世界首位
小米mix2什么时候发布?小米mix2亮相:无敌屏占比,价格奇高
福禄克与您相约2017年11月20日上海国际电力展
海洋水文气象数据采集上云助力建立风暴潮在线预警监测系统
功率计数据测试可能会出现的问题应该如何解决办法
翠展微电子上海技术交流会圆满完成
SCR后处理后处理维修必备的电阻电压参数值
三菱无线网以太网通讯模块接线图
指纹识别风潮起 汇顶、神盾掐架 后者恐受冲击
如何选择板用刀开关
先进的电力线监测需要高性能同时采样ADC
fireflyAIO-3399C主板升级固件介绍
菲斯克宣布新款固态锂电池充电仅需9分钟