CodeWarrior 使用教程(6)
连接的类型
在程序的编制中,一个连接就是一个指针,指向一个象编译函数这样的对象,或者指向一个变量或一个数组这样的数据内容。连接有两种方式:硬连接(hard linking)和软连接(soft linking)。
硬连接发生于连接过程中,说明代码的时候。换句话说,如果一个函数被使用了,在连接时连接器确切地知道这个函数在哪里并创建一个连接把这个函数连接起来。
软连接(也称为弱连接)发生于进行连接时,一些代码可以不需要进行说明,因为你知道这些代码位于一个 DLL 中,并在运行时可以从该 DLL 中进行调用。在这种情况下,连接器会告诉应用程序到哪里去找它所需要的代码。 软连接也是计算机操作系统中许多元素使用的方法。接下来,我们一起来学习一些关于连接器的选项设置。
A 连接Detailed Look at Linking
为了将来能更好地领略 CodeWarrior for Windows 平台的卓越功能,你首先需要了解如何配置 CodeWarrior 的连接器来满足你的要求。
根据你的要求来配置连接器
本课中使用的示例是运行在 x86 平台上的 CodeWarrior 的连接器设置面板(如图4-1)。但是在这其中使用的很多术语也是适用于其它平台上的 CodeWarrior 连接器的。
图 4-1 x86 连接器设置窗口
通过选择编辑菜单中的“工程名”项来打开这个设置窗口。(“工程名”是指当前的活动工程——在本例中就是 Hello World x86),然后点击设置窗口中的 x86 连接器(或类似的名字)标签。 下面我们来看看一些连接器设置项:
?
入口点用法(Entry Point Usage): 在 Windows OS 体系中,每一个代码模块都有许多可能可以或者不可以选择的入口点,这取决于你所编译的代码类型。这些入口点的自然属性依赖于你正在编写的程序的输出文件(应用程序、库或 DLL )的类型和其它的一些因素。当一个应用程序需要调用一个 DLL 函数时,主机操作系统就使用这个入口点信息来正确地调用该 DLL 地初始化函数。大多数情况下,你应当设置此选项为默认方式(如
图4-1所示)。这将让 CodeWarrior 根据你在目标文件设置面板中选择的目标文件类型,来自动地为输出文件设置正确的入口点; ?
子系统(Subsystem): 子系统有三种选择:Native、 Windows CUI 和 Windows GUI。Native 选项是用于开发驱动程序和其它异种系统模块的; Windows CUI 选项是用于开发使用控制台风格用户界面( console-style user interface,所谓的CUI )的应用程序的;Windows GUI 选项用于开发使用 Windows 图形用户界面(Windows graphic user interface,所谓的 GUI )的应用程序的。因为我们是用的示例程序是简单的基于控制台的 Windows 应用程序,所以我们选择了 CUI 子系统。通常情况下,CodeWarrior 会根据你在开始创建工程时选择的工程模板来自动地设置子系统的选项; ?
子系统 ID/用户 ID(Subsystem ID/UserID): 和子系统项一样,这个选项也是由 CodeWarrior 自动设置的。具体系统对应的 ID 为:Windows 3.1,Windows 95 和 Windows NT 3.5 的 ID 为 3.10,Windows NT 4 的 ID 为 4.00; ?
生成连接映射(Generate Link Map): 这个选项允许你生成一个文本文件,其中包含了程序中使用到的所有的类和函数的详细信息。当需要通过匹配变量或函数名的地址来调试代码时,这个选项就非常有用了; ?
生成 SYM 文件(Generate SYM File): 这个选项允许你在连接过程中生成一个符号文件。大多数的调试器在进行调试时需要一个符号文件来逐步调试你的源代码。我们将在第五课中详细讨论这个内容。此外,你还可以通过选中生成 CV 信息项(Generate CV Info item)来生成一个可用于 CodeView 的符号文件。CodeView 是一个流行的 Windows 调试工具; ?
生成 CV 信息(Generate CV Info): 生成一个可用于 CodeView 的符号文件。CodeView 是一个流行的 Windows 调试工具; ?
命令文件(Command File): 这个选项要你选择一个用于指示复杂的连接选项设置的文本文件。该文件称为连接器命令文件。它被使用来指定要导入和导出哪些符号。除非你正在编写一个特殊目的的代码,你才不需要一个连接器文件。
正如你所知的,连接器的设置过程是非常复杂的。但是,在多数情况下,你不需要修改连接器的默认设置。Metrowerks 公司的开发人员已经帮助你很好地解决了这个问题。
第五课 调 试
关于调试
Purging pesky pests proves productive for programmers!
调试就是在你的程序代码中找到一个问题并着手去解决它的过程。不管是谁,在编程时都难免出现一些输入或程序逻辑上的错误,一旦出现这种问题,很可能你想破了头也找不到错误在哪。这个问题可能只是一个输入上的小错误或者只是一个变量用错了,因此你很难发现它。但是因为这个错误的存在使得你的程序无法实现预期的功能。有时候会更糟糕,以致你的机器都崩溃了。这时,你就必须借助调试来解决问题。
…… 此处隐藏:744字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [学前教育]MC9S12XS256RMV1 xs128芯片手册4
- [学前教育]安东尼语录经典语录
- [学前教育]e级gps控制测量技术设计书
- [学前教育]苏教版2022-2022学年八年级下学期期末
- [学前教育]装修公司推广 营销
- [学前教育]家政服务合同(完整版)
- [学前教育]湖北省2016届高三联考语文试题
- [学前教育]爱立信无涯学习系统LTE题库1-LTE基础知
- [学前教育]揭秘大众柴油车作弊软件原理
- [学前教育]人才流失原因及对策分析
- [学前教育]房屋建筑施工工程劳务分包合同
- [学前教育]国际贸易实务试卷A卷09.6
- [学前教育]校园废品回收活动计划方案书范文格
- [学前教育]电大成本会计试题及答案
- [学前教育]大学物理实验 华南理工出版社 绪论答案
- [学前教育]爱丁堡产后抑郁量表
- [学前教育]液压冲击的危害、产生原因与防止方法(
- [学前教育]学生工作总结高一学生期中考试总结_020
- [学前教育]人民医院医疗废物管理规章制度大全
- [学前教育]阳光维生素的巨大抗癌潜能阅读题答案.d
- 马云在云锋基金江苏论坛闭幕式的发言
- 试论小学体育教育中的心理健康教育-教
- 语文A版一年级下册《语文乐园一》教学
- 2021四川大学物理化学考研真题经验参考
- [人教A版]2015-2016学年高中数学 第二
- 终端网点销售返利协议书
- 江苏省2015年眼科学主治医师青光眼考试
- 2017年部编人教版八年级语文上册教案
- 十一中学七年级英语上册Unit7Howmuchar
- 以赛促教的创新性实验教学机制建设实践
- 平凉市崆峒区2015七年级下生物期末试题
- 琶洲(地块五)A、B塔楼1、2#塔吊基础
- 一级医院工作制度与人员岗位职责
- 2018北京西城区高三二模理科数学试题及
- 炒股密码线技术 - 图文
- 职高学生生涯发展辅导教案
- 语文人教版四年级上册8 世界地图引出的
- 最新最新人教版二年级上册全册数学教案
- 2017高考英语全国2卷精彩试题(有问题
- 普通心理学笔记




