教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

CodeWarrior 使用教程(9)

来源:网络收集 时间:2026-02-20
导读: '所有的变量都必须进行声明 dim CW dim project '默认的工程 dim textDocument '用于保存报告的文本文档 dim textEngine '用于处理文本的对象 dim eol '行尾字符格式 dim result '返回的值 eol = chr(13) '设置行尾

'所有的变量都必须进行声明 dim CW

dim project '默认的工程

dim textDocument '用于保存报告的文本文档 dim textEngine '用于处理文本的对象 dim eol '行尾字符格式 dim result '返回的值

eol = chr(13) '设置行尾字符 '创建 CodeWarrior 的一个实例

set CW = CreateObject(\ '创建一个文本文档并获得其引擎(Engine)

set textDocument = CW.OpenUntitledTextDocument() set textEngine = textDocument.TextEngine '得到默认的工程

set project = CW.DefaultProject '错误控制

if TypeName(project) = \

textEngine.InsertText(\

&eol) textEngine.InsertText(\&eol) else

dim target '当前目标

dim buildmessages '错误和警告 '*** 获得当前目标

set target = project.GetCurrentTarget textEngine.InsertText(\ '显示名字

result = target.name

textEngine.InsertText(\ '*** 删除所有的对象代码目标 RemoveObjectCode true '*** 获得构建代码后的消息

set buildMessages = target.BuildAndWaitToComplete ProcessMessages (buildMessages) end if

'========================================================= ' ProcessMessages - get errors and warnings, process them ' receives build messages

'========================================================= sub ProcessMessages (messages) dim result '返回值 dim messageList '消息收集 '*** 获得错误的数量

result = messages.ErrorCount

if result = 0 then textEngine.InsertText(eol &\ else textEngine.InsertText(eol &\ '*** 显示错误的数量

textEngine.InsertText(\ '*** 获得错误清单

set messageList = messages.Errors '*** 处理错误

ProcessMessageList (messageList) end if

'*** 检测是否有警告信息 result = messages.WarningCount '*** 显示数量

textEngine.InsertText(\ '*** 取得警告信息并处理之 if result then '*** 获得警告信息清单

set messageList = messages.Warnings '*** 处理警告信息

ProcessMessageList (messageList) end if end sub

'========================================================= ' ProcessMessagelist - loop through messages, report info ' receives message collection, could be errors or warnings

'========================================================= sub ProcessMessageList (messageList)

dim result '返回值 dim index '循环计数器 dim message '个人信息 '*** 遍历消息清单

for index = 0 to messageList.Count-1 '*** 获得个人信息

set message = messageList.Item(index) '*** 获得消息文本

result = message.MessageText '*** 显示消息文本

textEngine.InsertText(result &eol)

****在错误中忽略一行(skip a line between errors ) textEngine.InsertText(eol) next end sub

因为使用了微软公司的 OLE/COM 查看器工具,这个 IDE 支持许多 COM 对象。一个脚本语言可以使用这些对象来与 CodeWarrior IDE 进行通信。关于 CodeWarrior 定制与脚本机制,还有很多优秀的功能,但在这里就不详述了,因为 CodeWarrior 把这些功能实现得非常好。打开上面所描述到得窗口自己看看吧!当你熟练使用了 CodeWarrior 的一些功能之后,你会发现它是非常的易用!

第七课 库 和 Microsoft Foundation Classes (MFC)

库是什么?这是一个你必须知道如何回答的问题!一个库就是一个包含了你程序运行时需要调用的函数的文件。在库中提供的典型函数有:文件和屏幕的 I/O 函数,内存管理服务,3-D 图形显示以及科学计算函数。使用库可以缩短你的开发时间并简化你的应用程序。在开发程序当中,你会经常地使用到库。以下是几种在编程中使用库的方法:

? ? ?

将你需要用到的函数写在一个源文件中,然后把它编译成为一个库或 DLL; 使用别人提供的库;

使用一个其他人提供的共享库(或 DLL)。

编写你自己的库或 DLL

第一种使用库的方法很简单。你只需在一个 C 或 C++ 源文件中写入源代码,然后编译、连接并执行它。这是我们在本课程中早已学到的知识。就这样你就可以创建你自己的一个库,就这么简单!

使用别人的库

使用别人提供的库稍稍有些不同。由第三方开发商提供的库通常包括以下几个文件:库文件(通常是以 .lib 为后缀名的文件),一个头文件(后缀名为 .h) 以及(我们希望有但不一定有)一些文档(后缀名为.doc)。头文件是用于让编译器将你的程序中使用的函数与库中的函数匹配起来的。你只需将头文件包括到你的源文件中,然后就可以象调用操作系统的函数一样来调用库函数了。在大多数情况下,通常将 .h 和 .lib 的文件放置于源文件目录中,就像 CodeWarrior 定义的一样。这个路径通常在你的工程文件所在的目录,或者其下的子目录中。需要注意的是,CodeWarrior 提供的某些特定的库,例如它的 MSL,就不是放在你的工程所在的目录中。实际上,CodeWarrior 有一个特定的存取路径,叫做 system paths, 它指向 CodeWarrior 自带的库和头文件存放的目录。

使用一个共享库

第三方厂商将库函数与它们的产品打包起来发行,而不是以源文件的方式发行这些库。如果你是一个开发商,使用这样的方式来发行你的库会更安全一些,特别是你希望由此来保护你的知识产权时。但是这种方法也存在一个问题,就是如果在库中存在一个 bug 的话,用户是没办法对之进行修改的,只能从开发商那里取得一个修正后的版本。但是这做起来也有许多困难。

共享的 DLL

DLL 和库文件非常相似,两者之间唯独的不同就是库文件通常都会被编译并连接到你的应用程序中,而 DLL 则是存放在你的系统目录下或者是在编译后的应用程序的目录下的一个独立的文件。当应用程序运行时,它会自己去找到该 DLL 并使用它的服务。DLL 文件的后缀名为 .dll。

使用共享的DLLs 的好处

DLL 的优点就是它能够被共享。那么,共享的好处在哪里呢?首先,可以让多个应用程序使用一个 DLL。当几个程序都使用一个占用很大磁盘和内存空间的 DLL 时,就很有用了。另外,如果一个 DLL 包含了一个 bug,然后被修正了,那么所有使用这个 DLL 的程序都会被自动更新,这样就可以大大地节约你的开发时间。那么哪种库应该由多个应用程序共享呢?比如操作系统中的每一个视窗就是使用共享的 DLL 得来的。 …… 此处隐藏:1853字,全部文档内容请下载后查看。喜欢就下载吧 ……

CodeWarrior 使用教程(9).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/593504.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)