1CodeWarrior使用教程课程目录第一课:认识CodeWarrior第二课:工程和目标文件的显示和定制第三课:编译第四课:链接第五课:调试第六课:定制第七课:库函数和MicrosoftFoundationClasses(MFC)第八课:总结(天涯客收集整理,欢迎大家交流qq:154025858)本资料来源于互联网,整理后发布于能做些什么?当你知道自己能写更好的程序时,你一定不会再使用别人开发的应用程序。但是常常会发生这种情况,就是当你写了无数行代码后,却找不到使得整个程序出错的那一行代码,导致根本没法编译和链接整个程序。这可能更令人灰心丧气。本文将告诉你如何使用CodeWarrior这一工具解决上述问题。从现在开始,我们将集中精力学习如何在CodeWarrior中使用C/C++进行编程。为了学习本课程,你必须已经能够比较熟练地使用上述两种语言之一。CodeWarrior也可以支持Java开发,但那是另一门课程的内容。本课程仅限于在Windows平台上使用CodeWarrior进行的开发。一旦你精通了CodeWarrior编程后,你可以试试在其它平台上使用CodeWarrior。本文中讨论过的大部分内容都可以应用到开发Mac应用程序中。CodeWarrior能够自动地检查代码中的明显错误,它通过一个集成的调试器和编辑器来扫描你的代码,以找到并减少明显的错误,然后编译并链接程序以便计算机能够理解并执行你的程序。你所使用过的每个应用程序都经过了使用象CodeWorrior这样的开发工具进行编码、编译、编辑、链接和调试的过程。现在你在我们的指导下,自己也可以去做这些工作了。你可以使用CodeWarrior来编写你能够想象得到的任何一种类型的程序。如果你是一个初学者,你可以选择编写一个应用程序(比如一个可执行程序),比如象微软公司的文本编辑器WordPad这样的应用程序。应用程序可能是最容易编写的程序了,而那些庞大的商业软件,比如象AdobePhotoshop,MicrosoftWord以及CodeWarrior软件都是极其复杂的。其它类型的程序指的是控制面板(controlpanels),动态链接库(dynamiclinkedlibraries,DLLs)和插件(plug-ins)。我们先来简单的讨论一下这些类型的程序。在Windows中,控制面板程序是一些(通常比较小的)存放在控制面板目录下的程序,可以在开始菜单的控制面板项中看到它们。控制面板实际上是设置系统功能的一个简单界面,比如可以在控制面板中完成诸如设置音量和鼠标移动速度这样一些参数。动态链接库(DLLs)提供了一些很有用的被系统和应用程序共享的函数。通常它们都是没有用户界面的。插件(Plug-ins)有点类似于DLLs,插件也是可供其它软件使用的小程序,但插件只能被特定的软件使用。比如说,Photoshop的插件允许程序员方便地扩展Photoshop的功能,而不需要去修改它的源代码。同样的,许多Web浏PDF文件使用FinePrintpdfFactoryPro试用版本创建览器也使用插件来增加功能,或者为了让你能够看到页面上的新的内容类型。实际上,有许多程序,包括CodeWarrior,都使用这种插件结构。一旦你掌握了CodeWarior和你所使用的操作系统的编程接口时,你可以编写许多其它类型的程序。实际上,本课程也是你深入学习其它编程方法的基础课程。你已经找到了一个最优秀的地方开始你的编程之旅。好,现在请坐好,放松,去吸取这门课程的精华吧,你将踏上一条成为一个编程武士的道路!CodeWarrior入门CodeWarrior是一个复杂的应用程序,你必须花点时间来了解它的各种各样的组件和功能。第一课将讲述CodeWarriorIDE的安装。我们将学习菜单、窗口和其它的一些方面。建议你最好一边学习本课程,一边学习使用CodeWarrior的集成开发环境。我们从运行CodeWarrior开始,如果你按照默认方式安装的CodeWarrior软件,那么在Windows的桌面上将会有一个该软件的快捷方式图标。双击该图标启动CodeWarrior的集成开发环境。如果在Windows桌面上没有这个快捷图标(这种情况经常发生),你可以在C:\ProgramFiles\Metrowerks\CodeWarrior\Bin中找到IDE.exe文件,然后运行它。工具条启动CodeWarrior后,你将会看到,在屏幕上方的菜单下面有一个工具条。这个工具条(见图1-1)包含了一些常用菜单项的快捷方式。在后面的章节中,你将学到如何设置这个工具条,甚至是整个IDE环境。现在,你应记住,这个工具条用于快捷使用IDE中的功能。图1-1:CodeWarriorIDE的工具条文件菜单CodeWarriorIDE的菜单是按照标准方式设置的。其中的文件菜单用于处理和文件相关的一些操作,比如创建、打开、保存和打印等等。编辑菜单CodeWarrior的编辑菜单和其它的Windows应用程序也很相像。其中包括了剪切、复制和粘贴等操作,以及其它一些使得程序员能够更方便地管理源码版面布局的选项。在编辑菜单中还有一个Preferences项,我们在这一课的后面将提到它。查看菜单查看菜单(图1-2)用于安排工具条和其它窗口在CodeWarrior环境中如何显示的选项。所谓的“其它窗口”包括许多特殊的窗口,比如观察点(Watchpoints)窗口,表达式(Expressions)窗口,过程(Processes)窗口和全局变量(GlobalVariables)窗口等。PDF文件使用FinePrintpdfFactoryPro试用版本创建查看菜单中的工具条子菜单查找菜单查找菜单用于在单个文件或硬盘的目录中查找指定的代码。你可以使用它来方便地替换文本块或在你的代码中搜索指定的项目。即使是在小工程中使用这个工具也非常方便。工程菜单工程菜单中的工具用于管理CodeWarrior工程。一个工程包括组成你正在编写的程序的所有的文件,包括头文件、源代码和库文件。工程窗口显示了所有这些文件的名称。我们将在第二课中深入讨论这部分内容。调试菜单这是在编制程序中最常用到的工具。我们将在第五课中详细介绍它的使用方法。窗口菜单用于在CodeWarrior环境管理窗口显示方式的菜单。帮助菜单PDF文件使用FinePrintpdfFactoryPro试用版本创建任何问题的在线解答。够酷的吧?了解CodeWarrior集成开发环境的设置CodeWarriorIDE提供了许多设置以便让你定制你的工作环境。当你选择了编辑菜单中的Preferences项时,你将会看到一个设置对话框(如图1-3)。在该对话框中,有控制CodeWarrior编辑器、调试器和其它许多功能的界面和行为的选项。在这一节中,我们将学习这些设置的使用。图1-3:设置对话框你可以在自己的CodeWarrior中试试上述这些设置项。你可以先点击问号标志,然后点击你感兴趣的项目,就可以得到一个有关该项目的用途的简短介绍,也可以从帮助菜单中得到更详细的信息。通用设置•编译设置(BuildSettings):选择是否在执行编译之前保存已打开的源文件,以及有多少内存被用于编译工作;•IDE之外(IDEExtras):几个独立的设置。比如指定CodeWarrior是否使用一个第三方的文本编辑器——因为集成的编辑器并不是很完美,这可以通过指定一个你惯用的编辑器来替代它;PDF文件使用FinePrintpdfFactoryPro试用版本创建娝俟脑脑脑详注色远素涉确色远针详符球次详符远6•插件设置(Plug-InSettings):供插件开发商调试他们的插件;•隐藏文件夹(ShieldedFolders):在这里指定的文件夹在工程设计期间,或执行查找和比较操作期间,将要被忽略掉。如果在你的工程级有一个巨大的“数据”文件目录,而你又不想让这些文件降低CodeWarrior的操作速度时,这个设置就很管用了;•资料树(SourceTrees):用于指定CodeWarrior在编译程序时用不着的目录。编辑器设置•编辑器设置(EditorSettings):几个用于定制编辑器显示、管理文本和窗口的设置项;•字体和制表符(FontsandTabs):设置编辑器中的文本大小、字体、制表符和其它显示设置;•文本颜色(TextColors):用于指定特定语言元素(比如程序的注释)在编辑窗口中的显示的颜色。调试器设置•显示设置(DisplaySettings):几个用于定制调试器显示的设置项;•视窗化(Windowing):设定调试器如何管理它的窗口(比如隐藏所有打开的编辑器窗口);•全局设置(GlobalSettings):几个用于定制调试器在全局层次如何工作的设置。比如当一个包含了程序调试信息的文件被打开时,是否启动这个程序;•远程连接(RemoteConnections):允许通过TCP/IP进行远程调试。这样,你就可以在地球的另一边调试你的软件了;•Java设置/Java调试(JavaSettings/JavaDebugging):允许你设置特定的Java编程语言选项。本课程不涉及这部分内容。RAD工具•Layout编辑器:几个用于在CodeWarrior中定制快速应用程序开发工具的使用的设置。正如你所见到的,CodeWarrior有许多设置项和选项。设置完后点击“Save”按钮保存你所作的修改,点击“Close”按钮将忽略你所作的所有修改。在进入下一节课之前,多练习几次。最后请确认“默认的文本文件格式(DefaultTextFileFormat)”(在编辑器设置面板中)保持为DOS设置。PDF文件使用FinePrintpdfFactoryPro试用版本创建操作文件的方式以及介绍它的工程(Project)窗口。什么是工程文件为了使用CodeWarrior来创建一个应用程序,你必须创建许多文件来构成一个工程(Project)。该工程的设置和所有这些文件的指针都被存放在一个工程文件中。这些设置包括编译和链接设置、源文件、库文件以及它们之间用于产生最终程序的相互关系。你可以将这个工程文件看作该工程的大脑:它保存了所有文件相互依存的关系并知道如何将它们组合成为一个可用的应用程序。工程窗口依次显示了这些关于你的程序和该程序所包含的文件的信息,并允许你只需轻松点击就可以修改这个工程。图2-1显示了工程窗口的外观。图2-1:显示工程信息的工程窗口(图示为空的情况)大多数组成你的程序的文件都是原始的文本文件。这些文件包含了你在CodeWarrior的编辑器中键入的源代码。在某些情况下,你还将使用一些预编译的源码和头文件。在进行数学运算和I/O操作时,你还要使用到一些库文件,比如Metrowerks标准库(MetrowerksStandardLibrary,MSL)通常,你都是使用C或C++来编写源代码,但通过给CodewWarrior的集成开发环境加装相应的插件(plug-in),你也可以在CodeWarrior中使用其它语言来进行编程。别忘了,CodeWarrior可是一个可扩展的集成开发环境。通过给它安装一些插件,你就可以扩展它的功能。比如说,加入有人开发了一种新的叫做Z++的编程语言,你就可以为CodeWarrior创建一个相应的插件使之能够支持Z++语言,而且你还可以拿这个插件卖好多钱,让所有使用CodeWarrior编程的人都使上Z++语言。