历史上的今天
返回首页

历史上的今天

今天是:2025年01月07日(星期二)

正在发生

2018年01月07日 | codewarrior使用教程

2018-01-07 来源:互联网

当你知道自己能写更好的程序时,你一定不会再使用别人开发的应用程序。但是常常会发生这种情况,就是当你写了无数行代码后,却找不到使得整个程序出错的那一行代码,导致根本没法编译和链接整个程序。这可能更令人灰心丧气。

本文将告诉你如何使用 CodeWarrior 这一工具解决上述问题。

从现在开始,我们将集中精力学习如何在 CodeWarrior 中使用 C/C++ 进行编程。为了学习本课程,你必须已经能够比较熟练地使用上述两种语言之一。CodeWarrior 也可以支持 Java 开发,但那是另一门课程的内容。本课程仅限于在 Windows 平台上使用 CodeWarrior 进行的开发。一旦你精通了 CodeWarrior 编程后,你可以试试在其它平台上使用 CodeWarrior。本文中讨论过的大部分内容都可以应用到开发 Mac 应用程序中。

CodeWarrior 能够自动地检查代码中的明显错误,它通过一个集成的调试器和编辑器来扫描你的代码,以找到并减少明显的错误,然后编译并链接程序以便计算机能够理解并执行你的程序。你所使用过的每个应用程序都经过了使用象 CodeWorrior 这样的开发工具进行编码、编译、编辑、链接和调试的过程。现在你在我们的指导下,自己也可以去做这些工作了。 你可以使用 CodeWarrior 来编写你能够想象得到的任何一种类型的程序。如果你是一个初学者,你可以选择编写一个应用程序(比如一个可执行程序),比如象微软公司的文本编辑器 WordPad 这样的应用程序。

应用程序可能是最容易编写的程序了,而那些庞大的商业软件,比如象 Adobe Photoshop,Microsoft Word 以及 CodeWarrior 软件都是极其复杂的。其它类型的程序指的是控制面板(control panels),动态链接库(dynamic linked libraries,DLLs) 和插件(plug-ins)。我们先来简单的讨论一下这些类型的程序。

在 Windows 中,控制面板程序是一些(通常比较小的)存放在控制面板目录下的程序,可以在开始菜单的控制面板项中看到它们。控制面板实际上是设置系统功能的一个简单界面,比如可以在控制面板中完成诸如设置音量和鼠标移动速度这样一些参数。

动态链接库 (DLLs) 提供了一些很有用的被系统和应用程序共享的函数。通常它们都是没有用户界面的。

插件 (Plug-ins) 有点类似于 DLLs,插件也是可供其它软件使用的小程序,但插件只能被特定的软件使用。比如说,Photoshop 的插件允许程序员方便地扩展 Photoshop 的功能,而不需要去修改它的源代码。同样的,许多 Web 浏览器也使用插件来增加功能,或者为了让你能够看到页面上的新的内容类型。实际上,有许多程序,包括 CodeWarrior,都使用这种插件结构。

一旦你掌握了 CodeWarior 和你所使用的操作系统的编程接口时,你可以编写许多其它类型的程序。实际上,本课程也是你深入学习其它编程方法的基础课程。你已经找到了一个最优秀的地方开始你的编程之旅。好,现在请坐好,放松,去吸取这门课程的精华吧,你将踏上一条成为一个编程武士的道路!

CodeWarrior 概况

CodeWarrior 是一个复杂的应用程序,你必须花点时间来了解它的各种各样的组件和功能。第一课将讲述CodeWarrior IDE 的安装。我们将学习菜单、窗口和其它的一些方面。建议你最好一边学习本课程,一边学习使用 CodeWarrior 的集成开发环境。我们从运行 CodeWarrior 开始,如果你按照默认方式安装的CodeWarrior 软件,那么在 Windows 的桌面上将会有一个该软件的快捷方式图标。双击该图标启动CodeWarrior 的集成开发环境。如果在 Windows 桌面上没有这个快捷图标(这种情况经常发生),你可以在C:\Program Files\Metrowerks\CodeWarrior\Bin 中找到 IDE.exe 文件,然后运行它。

工具条

启动 CodeWarrior 后,你将会看到,在屏幕上方的菜单下面有一个工具条。这个工具条(见图1-1)包含了一些常用菜单项的快捷方式。在后面的章节中,你将学到如何设置这个工具条,甚至是整个 IDE 环境。现在,你应记住,这个工具条用于快捷使用 IDE 中的功能。

文件菜单

 CodeWarrior IDE 的菜单是按照标准方式设置的。其中的文件菜单用于处理和文件相关的一些操作,比如创建、打开、保存和打印等等。

       编辑菜单
CodeWarrior 的编辑菜单和其它的 Windows 应用程序也很相像。其中包括了剪切、复制和粘贴等操作,以及其它一些使得程序员能够更方便地管理源码版面布局的选项。在编辑菜单中还有一个 Preferences 项,我们在这一课的后面将提到它。

      查看菜单
     查看菜单(图1-2)用于安排工具条和其它窗口在 CodeWarrior 环境中如何显示的选项。所谓的“其它窗口”包括许多特殊的窗口,比如观察点(Watchpoints)窗口,表达式(Expressions)窗口,过程(Processes)窗口和全局变量(Global Variables)窗口等。

查找菜单 查找菜单用于在单个文件或硬盘的目录中查找指定的代码。你可以使用它来方便地替换文本块或在你的代码中搜索指定的项目。即使是在小工程中使用这个工具也非常方便。

工程菜单

工程菜单中的工具用于管理 CodeWarrior 工程。一个工程包括组成你正在编写的程序的所有的文件,包括头文件、源代码和库文件。工程窗口显示了所有这些文件的名称。我们将在第二课中深入讨论这部分内容。

调试菜单

这是在编制程序中最常用到的工具。我们将在第五课中详细介绍它的使用方法。

窗口菜单

用于在 CodeWarrior 环境管理窗口显示方式的菜单。

帮助菜单

通过帮助菜单可以到网上寻求关于 CodeWarrior 任何问题的在线解答。

了解 CodeWarrior 集成开发环境的设置

CodeWarrior IDE 提供了许多设置以便让你定制你的工作环境。当你选择了编辑菜单中的 Preferences 项时,你将会看到一个设置对话框(如图1-3)。在该对话框中,有控制 CodeWarrior 编辑器、调试器和其它许多功能的界面和行为的选项。在这一节中,我们将学习这些设置的使用。

你可以在自己的 CodeWarrior 中试试上述这些设置项。你可以先点击问号标志,然后点击你感兴趣的项目,就可以得到一个有关该项目的用途的简短介绍,也可以从帮助菜单中得到更详细的信息。

通用设置 ·

编译设置(Build SetTIngs): 选择是否在执行编译之前保存已打开的源文件,以及有多少内存被用于编译工作; ·

IDE 之外(IDE Extras): 几个独立的设置。比如指定 CodeWarrior 是否使用一个第三方的文本编辑器——因为集成的编辑器并不是很完美,这可以通过指定一个你惯用的编辑器来替代它;

·插件设置(Plug-In SetTIngs): 供插件开发商调试他们的插件; ·

隐藏文件夹(Shielded Folders): 在这里指定的文件夹在工程设计期间,或执行查找和比较操作期间,将要被忽略掉。如果在你的工程级有一个巨大的“数据”文件目录,而你又不想让这些文件降低

CodeWarrior 的操作速度时,这个设置就很管用了; ·

资料树(Source Trees): 用于指定 CodeWarrior 在编译程序时用不着的目录。

编辑器设置 

编辑器设置(Editor SetTIngs): 几个用于定制编辑器显示、管理文本和窗口的设置项; ·

字体和制表符(Fonts and Tabs): 设置编辑器中的文本大小、字体、制表符和其它显示设置; · 文本颜色(Text Colors): 用于指定特定语言元素(比如程序的注释)在编辑窗口中的显示的颜色。

调试器设置

 显示设置(Display SetTIngs): 几个用于定制调试器显示的设置项; ·

视窗化(Windowing): 设定调试器如何管理它的窗口(比如隐藏所有打开的编辑器窗口); · 全局设置(Global Settings): 几个用于定制调试器在全局层次如何工作的设置。比如当一个包含了程序调试信息的文件被打开时,是否启动这个程序; ·

远程连接(Remote Connections): 允许通过 TCP/IP 进行远程调试。这样,你就可以在地球的另一边调试你的软件了; ·

Java 设置/Java 调试(Java Settings/Java Debugging): 允许你设置特定的 Java 编程语言选项。本课程不涉及这部分内容。

RAD 工具

Layout 编辑器: 几个用于在 CodeWarrior 中定制快速应用程序开发工具的使用的设置。 正如你所见到的,CodeWarrior 有许多设置项和选项。设置完后点击“Save”按钮保存你所作的修改,点击“Close”按钮将忽略你所作的所有修改。在进入下一节课之前,多练习几次。最后请确认“默认的文本文件格式(Default Text File Format)”(在编辑器设置面板中)保持为 DOS 设置。

推荐阅读

史海拾趣

Golledge Electronics公司的发展小趣事

Golledge Electronics公司的发展故事

故事一:石英晶体振荡器的创新起点

Golledge Electronics公司的起源可以追溯到对石英晶体振荡器技术的深入研究和创新。公司最初成立于英国水晶产区的中心,依托当地丰富的水晶资源,Golledge迅速成为石英晶体振荡器领域的佼佼者。公司创始人敏锐地意识到石英晶体的压电特性在电子系统中的重要应用价值,于是投入大量资源进行研发。通过不断优化晶体制造工艺和温度补偿技术,Golledge成功推出了高精度、高稳定性的石英晶体振荡器,为无线电通信、卫星通信等领域提供了关键技术支持。这一创新不仅奠定了Golledge在电子行业的基础,也为其后续发展铺平了道路。

故事二:微机电系统(MEMS)技术的突破

随着电子产品的不断小型化和便携化,Golledge Electronics公司紧跟时代步伐,将研发重点转向微机电系统(MEMS)技术。MEMS谐振器以其紧凑的尺寸和稳健的性能,成为便携式设备和可穿戴设备中的理想选择。Golledge通过自主研发和合作创新,成功将MEMS技术应用于频率控制产品中,推出了多款高性能、低功耗的MEMS谐振器。这些产品不仅满足了市场对小型化、轻量化的需求,还进一步提升了电子系统的整体性能和可靠性。Golledge在MEMS技术领域的突破,为其在电子行业中的领先地位增添了新的动力。

故事三:新材料应用的探索

为了不断提升产品的性能和质量,Golledge Electronics公司始终致力于新材料的研发和应用。公司研发团队通过深入研究石英晶体的物理特性和化学性质,成功开发出了一系列具有独特性能的石英晶体材料。这些新材料不仅具有更高的稳定性和频率精度,还能够在极端环境下保持优异的性能表现。Golledge将这些新材料应用于频率控制产品中,显著提升了产品的竞争力和市场占有率。同时,公司还积极探索其他新型材料的应用潜力,为未来的技术创新储备了丰富的资源。

故事四:机器学习集成的创新实践

随着人工智能技术的快速发展,Golledge Electronics公司敏锐地捕捉到这一趋势,并积极探索机器学习在频率控制领域的应用。公司研发团队通过集成机器学习算法,使频率控制系统能够动态地适应和优化频率设置。这一创新实践不仅确保了频率控制系统的持续准确性,还为其赋予了自我学习和自我优化的能力。Golledge的这一创新成果,不仅提升了产品的智能化水平,也为电子行业的未来发展提供了新的思路和方向。

故事五:超微型SMD晶体的商用化

为了满足市场对更小、更轻、更高效的电子产品的需求,Golledge Electronics公司推出了超微型1610mm封装SMD晶体,并成功实现商用化。这款晶体以其极小的尺寸和优异的性能,迅速赢得了市场的青睐。Golledge通过不断优化生产工艺和质量控制体系,确保了超微型SMD晶体的稳定供应和高质量表现。这款产品的成功商用,不仅进一步巩固了Golledge在电子行业中的地位,也为其在小型化、便携化电子产品领域的发展开辟了新的市场空间。

China Semiconductor Corp公司的发展小趣事

CSC公司成立于21世纪初,当时正值中国半导体产业刚刚起步。面对国际巨头的垄断和技术封锁,CSC公司从零开始,凭借一腔热血和坚定的信念,开始了艰难的创业之路。公司初期,资金匮乏、人才短缺,但CSC人凭借着对技术的执着追求和对市场的敏锐洞察,成功研发出多款具有自主知识产权的半导体产品,打破了国外技术的垄断,为中国半导体产业的崛起奠定了基础。

华大北斗(Allystar)公司的发展小趣事

CSC公司成立于21世纪初,当时正值中国半导体产业刚刚起步。面对国际巨头的垄断和技术封锁,CSC公司从零开始,凭借一腔热血和坚定的信念,开始了艰难的创业之路。公司初期,资金匮乏、人才短缺,但CSC人凭借着对技术的执着追求和对市场的敏锐洞察,成功研发出多款具有自主知识产权的半导体产品,打破了国外技术的垄断,为中国半导体产业的崛起奠定了基础。

aconno公司的发展小趣事

品质是aconno公司发展的基石。公司从一开始就注重产品质量和用户体验,从原材料采购到生产工艺,再到产品测试,每一个环节都严格把关。这种对品质的坚持,使得aconno的产品在市场上赢得了良好的声誉。同时,公司还建立了完善的售后服务体系,为用户提供及时、专业的技术支持,进一步增强了用户的信任度和忠诚度。

Global Communications公司的发展小趣事
温度传感器的输出与温度之间的线性关系可能不理想,导致补偿效果不准确。此时,可以采用非线性补偿技术或选择具有更好线性度的温度传感器来解决问题。
德崧电子(D-SWITCH)公司的发展小趣事

随着公司业务的不断发展,德崧电子开始积极拓展市场。公司深入分析市场需求和行业趋势,针对不同领域推出了具有针对性的产品和服务。例如,在汽车行业,德崧电子推出了耐高温、耐磨损的汽车专用开关;在家电行业,公司则推出了外观精美、功能丰富的智能开关。这些产品的推出不仅满足了市场的多样化需求,也为公司带来了丰厚的回报。

问答坊 | AI 解惑

单片机系统设计的误区宇对策

单片机系统设计的误区宇对策…

查看全部问答>

怎样获得进程加载了哪些模块(dll)?

怎样获得进程加载了哪些模块(dll)?有没有相关的API或者例子程序? 请知道的朋友说一下,非常紧急! 谢谢!…

查看全部问答>

arm+wince5.0 位变量 单独操作某个引脚

wince上面能不能定义位变量,,就像51那样, sbit led=P2^0;这种,操作led这个变量就是操作那个引脚了,,, arm上面有没有类似的定义??用宏也行 我想定义位变量 单独操作某个IO口,,比如GPF0,,想不到办法~~…

查看全部问答>

各位大虾,给小弟指条明路吧

    小弟06年毕业以来一直是做应用软件的开发(类似于管理系统)一类的软件, 但总感觉现在做计算机软件的门槛比较低,薪酬也不高,时间长了,没什么新鲜感了, 现在想做嵌入式开发,但一时也不知道从何开始,请各位大虾指点迷津吧…

查看全部问答>

【转】 如何使用SignalTap II觀察reg與wire值? (SOC) (Verilog) (Quartus II) (Signa

Abstract撰寫Verilog時,雖然每個module都會先用ModelSim或Quartus II自帶的simulator仿真過,但真的將每個module合併時,一些不可預期的『run-time』問題可能才一一浮現,這時得靠SignalTap II來幫忙debug。Introduction使用環境:Quartus II 8.0 ...…

查看全部问答>

89c51单片机与SHT11温湿度采集

小弟正在做毕业设计,到了关键时候,我用SHT11采集温湿度在12864上显示的时候,在调整温度的时候高于20度的时候湿度也会跟着改变,但是幅度不大,再调整的时候又会改变一下,不知道是什么原因,请知道的大哥大姐帮帮小弟,这是什么原因啊?????…

查看全部问答>

vca810

本帖最后由 paulhyde 于 2014-9-15 09:40 编辑 问一下各位,vca810在40db增益下,带宽能达到10M么?  …

查看全部问答>

【EE团】LM3S811新兵营——TI LM3S811 ARM评估板0.01元秒杀!!!

【EE团】LM3S811新兵营——TI LM3S811 ARM评估板0.01元秒杀!!! 快开始了,大家。。。 距团购开始还有: 00天 01时 46分 29秒…

查看全部问答>

带界面的手持上位机--控制下面的其他机器

首先,个人觉得开发板的作用,是方便研发。。在开发板上实现小型的功能,之后方便大规模生产吧 开发板的利用,更在于学习的过程,学习到好东西才好 只是根据产品的现状想到的一种方案,如果能做的,应该还是可以 谢谢…

查看全部问答>

“POS机套件”中的器件,你将怎样发挥它的作用?

“POS机套件”中的器件,都很有特点,一部分是TI刚刚推出的新器件,性能及功能很好。 TI这次活动将了放100套这样的套件,比例相当大。 这些套件如果到了你手里,你将怎样发挥它的作用?有更具体的想法吗? [ 本帖最后由 dontium 于 2012-11-18 01 ...…

查看全部问答>