大数据时代的含义范例6篇

大数据时代的含义

大数据时代的含义范文1

一、构造椭圆模型,巧解一类含绝对值的不等式

【例1】 解不等式:|x-2|+|x+2|≥5.

分析:该不等式是含两个绝对值符号的不等式,这类不等式可使用零点划分区间法、构造函数法、几何意义法等.那么根据绝对值的定义可知,该不等式的含义是数轴上的点x到两定点(-2,0)和(2,0)的距离之和大于等于5.这也恰好符合椭圆的定义,用椭圆的知识来解释该不等式就是代表椭圆及其椭圆外部的x的取值范围,利用椭圆的有界性便可轻松求解.

解:不等式|x-2|+|x+2|≥5的含义是数轴上的点x到两定点(-2,0)和(2,0)的距离之和大于等于5.

根据椭圆的定义可知c=2,a=52,

a2=254,b=94,

因此椭圆的方程为x2254+y294=1.

根据椭圆的有界性可得x≤-52或x≥52,

不等式的解集为{x|x≤-52或x≥52}.

二、构造双曲线模型,巧解一类含绝对值的不等式

【例2】 解不等式:|x-5|-|x+5|≤8.

分析:根据绝对值的定义可知,该不等式的含义是数轴上的点x到两定点(-5,0)和(5,0)的距离之差小于或等于8.这也恰好符合双曲线的定义,用双曲线的知识来解释该不等式就是代表双曲线右支的x的取值范围,利用双曲线的有界性便可求解.

解:不等式|x-5|-|x+5|≤8的含义是数轴上的点x到两定点(-5,0)和(5,0)的距离之差小于或等于8.

根据双曲线的定义可知c=5,a=4,b=3.

因此双曲线方程为x216-y29=1(x>0).

由双曲线的有界性可得x≥4,

不等式的解集为{x|x≥4}.

三、构造抛物线模型,巧解一类无理不等式

【例3】 已知a∈R,求证:a4-3a2-6a+13-a4-a2+1≤10.

分析:该不等式含有两个根式,并且根号内表达式的次数高达4次,因此求解起来特别的困难.根据数学化繁为简的整体思想,将其配方降幂,其左端可变形为(a2-2)2+(a-3)2-(a2-1)2+(a-0)2,此不等式的几何意义是抛物线y=x2上点P(a,a2)到点A(3,2)与到点B(0,1)距离之差的最大值是10.

解:根据不等式的结构,可以将其左端变形为

(a2-2)2+(a-3)2-(a2-1)2+(a-0)2,

此不等式的几何意义是抛物线上点P(a,a2)到点A(3,2)与到点B(0,1)距离之差的最大值是10.

A(3,2),B(0,1),

|AB|=10.

大数据时代的含义范文2

【关键字】 Android 系统 TaintDroid 数据流动态监控

引言

近年来,随着智能移动终端的普及,移动应用市场得到众多商家青睐,其中,Android 系统凭借其开源、易用、自由性等特点占据较大市场份额,针对Android平台开发设计的应用也以指数级增长。正是由于Android系统的开放性等特点,不法开发者有了可乘之机,使得用户的许多隐私数据外泄,给用户造成精神和经济方面的巨大损失。针对这些问题,许多研究者开始致力于安卓用户隐私数据的保护研究,2010 年 Enck 等人在 Android2.1 系统上,经过对系统出口源代码进行修改,实现了系统数据流动态检测系统---TaintDroid,而后一系列基于TaintDroid 的系统和隐私检测工具也相继问世,由于该项技术近几年刚刚起步,对其进行深入研究与拓展意义深远。

一、Android平台逻辑结构及Dalvik实现原理

1.1 Android平台逻辑结构

Android是一个基于Linux内核的移动操作系统,代码是开源的,系统分为四层,分别是Linux内核层,系统运行库和Java运行时环境Dalvik Virtual Machine层,应用程序框架层和应用程序层。

其实现逻辑是:通过linux内核层的内核代码实现最基本的OS操作,而在第二层中,有些已经被编译打包好的系统运行库,可以直接被上层框架调用运行,这部分不是Java代码而是可以直接调用的接口;除此之外,这一层还有对于Android至关重要的虚拟机――Dalvik运行时环境,用于Java代码的执行,其作用相当于PC系统中的JVM。而第三层的应用程序框架层则基本都是由Java代码编写完成的,其中包括一些Android的组件和控件的实现过程和操作,这一部分的代码就需要借助下层的Android Runtime来完成,并且有些需求还依赖于封装好的系统运行库。最顶层的应用程序层便是我们编写Android程序所在层,它调用框架层提供的框架,使用框架层的方法来实现用户APP想要实现的功能。

除此之外,某些对于Android系统的分层方法还包括一层HAL――Android系统的硬件抽象层,它运行在用户空间中,它向下屏蔽硬件驱动模块的实现细节,向上提供硬件服务访问。通过硬件抽象层,Android系统分两层来支持硬件设备。

1.2 Dalvik实现原理

Dalvik是一个面向Linux作为嵌入式操作系统设计的虚拟机,可以看做是Android为了执行Java代码而搭建的,和普通Java虚拟机不同,Dalvik主要是完成对象生命周期管理、堆栈管理、线程管理、安全和异常管理以及垃圾回收等等重要功能。除此之外,Dalvik不仅仅可以执行Java代码,也可以执行Native代码,即C和C++的代码。正是针对于这一特性,Android的Dalvik选择使用C++编写Java接口的实现方法,这样做的好处是让系统的运行更加高效和稳定。TaintDroid基于Android Dalvik的修改大部分就是基于Native代码的修改,由此可以在编译时便封装进环境里去。

Dalvik结构如下图所示:Android系统中包含一个虚拟机VM,它的作用是一句一句执行Java翻译成的dex文件。同时,在Dalvik中还包含有一系列的C、C++代码,这些代码自身就可以执行一系列的操作,并且他们会在系统编译启动是便编译完成,作为机器指令存放于系统中,在VM执行Java任务的过程中,可以对这些机器指令进行调用,这些调用是可见的,也有很多是VM自身对这些机器指令的引用。

Dalvik在底层实现了对上层对象的定义,在源文件中可以看到Dalvik对于上层Object在底层是如何定义的。同时,Dalvik还备有上层函数处理底层对象数据域的接口,并在文件中做了声明。由此,上层的函数也可以通过虚拟机访问真实的数据,这样的结构使得我们通过修改VM虚拟机来添加一些对Java开发者不可见的附加操作变得可能。

二、 TaintDroid数据流动态监控技术原理剖析

TaintDroid不是Android平台的一个应用程序,跟常规的App应用不同,它是通过改写 Android 的接口代码来实现的,因此对Android系统版本有绝对的依赖性。到目前为止TaintDroid 分别在Android2.1、Android2. 3、Android4. 1 和 Android4. 3 版本上进行了移植。TaintDroid是首次在Android使用污点追踪技术,它是在相关的API调用处把隐私数据标记为污染数据来实现对隐私数据的动态监测。

TaintDroid系统想要实现动态监测功能需要解决几个系统的挑战:

(1)污点的存储

(2)解释代码污点传播

(3)原生代码污点传播

(4)IPC污点传播

(5)二级存储污染

2.1 TaintDroid关键技术

TaintDroid主要由如下几部分构成:

(1)给数据的定义类内添加污点字段

在Dalvik对于虚拟机的Object定义的地方加一个成员变量taint,每一个Object都包含一个taint变量。由于是在Dalvik源代码里做的修改,因此上层Java语言不可见。

(2)添加访问污点字段数据域的函数接口

在函数和对象数据域之间的接口声明的文件中,声明Taint接口(函数和数据域),这一步的作用是可以让其它与之关联的C++代码可以使用这些接口来操作这些Taint标记。

(3)实现接口功能

使用底层的C++语言来实现Java呈现出来的接口,接口和实现之间的关联则通过接口

声明来实现。具体代码如下例:

}

总的来说,TaintDroid的功能主要由上述两部分构成:Java环境可见的主动接口调用,和Java环境不可见的底层标记及被动传递。

具体各个修改细节见图片所示

TaintDroid修改细节

首先,我们将所有的TaintDroid系统分为两部分,分别代表修改虚拟机定义的部分和针对污点操作的部分。在虚拟机定义的部分,修改每个Java对象对应于C++代码的现实对象的声明,添加一个Tag用来标记Taint污点记录。显然这个记录是Java不可见的,通过重写相关运算,可以实现在Java开发者不知情的情况下将Taint Tag传递下去。这一部分定义了Taint污点并允许其被动继承,通过重写相关函数来实现。在针对污点操作的部分,主要针对那些系统中的各个隐私组件Frameworks,例如GPS和MIC,这些组件本身就是污

点数据的源头,并且也是基于Java代码级别的功能,因此需要一个Java层可见的接口来处理这些不可见的Taint Tag。所以TaintDroid系统中还包含Taint.java这一部分。而它的实现很显然不可以使用Java,因为它对TaintTag不可见,要用C++来实现,这一部分实现的代码就是上文所说的Native代码部分。

虚拟机对于Dex字节码的运行有如下两个阶段:1.解析Dex字节码并了解其含义; 2.根据其含义进行相关的C/ C++操作。TaintDroid并不关注于如何解释Dex字节码,因为Dex字节码有其特殊规范,而解释这些字节码需要了解其规范,这不在TaintDroid的考虑范围之内。TaintDroid只关注与C/C++如何实现字节码所描述的含义的。换句话说,虚拟机对于dex字节码有翻译和执行两个部分,而TaintDroid则主要关注于执行这一部分。

TaintDroid所能检测到的数据类型的范围正如绪论所言,而这些隐私数据类型也在其实现中被体现了出来,具体代号如下:

TAINT CLEAR

TAINT LOCATION

TAINT CONTACTS

……

TaintDroid使用整型来定义这些隐私数据类型,譬如TAINT LOCATION代表的就是0x00000001,而TAINT CONTACTS就代表的是0x00000002,TAINT MIC就是0x00000004。可见,每一个数据都是2的次方数。

这样表示有一个显著的好处,就是可以以最快捷高效的方式实现污点数据的污点传递逻辑。譬如一个数据C是由一个数据A和另一个数据B生成的,则C的污点逻辑为:

C.taint = A.taint | B.taint;

若A的污点标记是1,B的污点标记是2,则C的污点标记就是1 | 2 = 3。而我们一看到3,就知道它是由1和2两个2的次方数构成的。不可能有别的组合情况。也就是说,我们知道了C包含LOCATION污点和CONTACTS污点。

2.2 TaintDroid的数据类型

提到TaintDroid的数据类型,其实有两个含义,一个是TaintDroid可以添加污点的Java基本数据类型范围,这其中就包括Int、String、Array、Char等类型。针对于这些Java基本类型,TaintDroid给每一个类型提供了添加污点的接口调用。同时在能够真正看到taint标记的C++层面实现这些声明过的接口。

另一个有关“数据类型”的含义指的是TaintDroid隐私数据的隐私类型,也就是说数据到底是GPS数据、还是IEMI数据等。

三、TaintDroid缺陷分析

TaintDroid虽然能够很好的实现隐私数据流的检测,但是其自身还是存在一定不足。

(1)能够检测的控件组件类型有局限性

TaintDroid可以检测GPS位置等诸多隐私数据,但系统中还有许多隐私数据没有被TaintDroid检测到,譬如我们在许多的场合会遇到让用户输入用户名和密码的行为,这些行为最终都会被归结到基于EditText控件的使用,而TaintDroid确缺省了对该控件信息的监控,也就是说,TaintDroid能够监测到的隐私数据源有局限性。

(2)隐私数据源路经不明确

TaintDroid只能了解到途径网络API的各个数据包中是否有添加了污点的隐私数据,但并不能了解这些隐私数据所途径的过程,它们如何被加密,它们如何被传递,它们如何被继承等等。

这主要是因为TaintDroid在隐私传播的过程中使用了被动的污点继承算法,只有虚拟机才能清楚的知道数据的污点是来自于哪些数据的继承,可是利用Java语言写的检测程序则无法通过数据本身获得任何这方面的信息。

(3)关于加密的问题

加密问题是TaintDroid的固有缺陷,它主要涉及两方面:

? 当变量只在逻辑上有关,而在代码和内存上无关的时候,TaintDroid显然无法追踪到数据的传递,因为真正的那个数据根本没有被赋值给任何内存。这是无法改良和完善的,因此TaintDroid并不适用于解决加密数据的监控问题。

? 当一个数组中有某几个数组项是隐私数据,但是整个数组并没有隐私标记的时候,这个数组在继续传递自己的数据的同时的确可以避开污点传递算法的调用。换而言之,TaintDroid无法跟踪如下污点:在一个数组类型的数据中,某一位或几位的字符是有污点的,其它没有污点,那么,整个数组是没有污点的。

大数据时代的含义范文3

关键词: 蓝牙;协议栈;剖面;OBEX;MAP;CSR;SDK

中图分类号:TP391 文献标识码:A 文章编号:1671-7597(2012)0610074-01

蓝牙,是一种支持设备短距离通信(一般10m内)的无线电技术。能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与因特网Internet之间的通信,从而数据传输变得更加迅速高效,为无线通信拓宽道路。蓝牙采用分散式网络结构以及快跳频和短包技术,支持点对点及点对多点通信,工作在全球通用的2.4GHz ISM(即工业、科学、医学)频段。其数据速率为1Mbps。采用时分双工传输方案实现全双工传输。[1]

蓝牙SIG联盟一直致力于蓝牙协议和规范的制定和。目前蓝牙协议一共有6个版本,市场分布率最高的是2.0和2.1+EDR,最具前景的当属4.0规范。4.0是三位一体的蓝牙技术,它将三种规格合而为一,分别是传统蓝牙、低功耗蓝牙和高速蓝牙技术,这三个规格可以组合或者单独使用,因此SIG的蓝牙产品商标规范分为了Bluetooth Smart和Bluetooth Smart Ready。4.0的低功耗技术可以使使一粒纽扣电池连续工作数年之久。在能源紧缺的时代,低功耗的无线通信技术是必然的研究发展趋势。但是由于4.0规范在产品应用方面尚未成熟,绝大部分产品的支持的仍然是2.0和2.1+EDR,3.0规范的蓝牙正规产品也是屈指可数。

在产业界,最热的无线通信技术有zigbee,wifi。与用于工控的Zigee的低功耗实时性特点相比,蓝牙具有传输数据快,数据量相对较大的优势。与无线局域网技术Wifi相比,具有辐射小,发射功率安全可靠的特点。这也是蓝牙免提耳机和蓝牙音乐耳机等娱乐设备市场欢迎度高的原因。

本文先简单介绍蓝牙协议protocol和剖面Profile,概述当下蓝牙产品的发展情况,然后详细介绍基于蓝牙协议栈和OBEX(Object Exchange)协议[2]的蓝牙MAP(Message access profile)短问剖面[3]实现的研究工作。

SIG的蓝牙规范包括蓝牙协议规范和剖面规范,这些规范构成了整个蓝牙技术产品的完整协议栈。蓝牙协议栈分为三层:蓝牙底层协议(RF、BB、LMP协议)、中间层协议(HCI、L2CAP、RFCOMM、TCS、SDP)、高层协议(OBEX、WAP、Audio等),在协议栈之上的应用层由剖面来定义。当下蓝牙产品应用最多的剖面主要是免提、音频、电话本、FTP等。随着人们对蓝牙产品的需求渐增,产品的创新性在也面临着巨大的考验,对新功能的剖面的研究和实现工作也势在必行。

顺应时代的潮流和市场的需求,具有MAP的蓝牙车载等设备具有巨大的市场竞争力。要对蓝牙剖面进行相应产品的开发,必须了解蓝牙协议栈的基本概念,协议栈各部分的作用,以及各部分之间的联系。然后通过已经实现了的剖面,学习如何按照MAP剖面的协议进行编程代码的实现。对于蓝牙协议栈的理解,本文不做探讨,可以参见钱志鸿老师的《蓝牙技术原理、开发与应用》[4]以及网络上众多达人发表的宝贵的经验。

MAP剖面应用的实现是基于OBEX协议,因此可通过与OBEX相关代码进行解读,来学习如何编写MAP规范应用。本文所选的是CSR SDK提供的OBEX server代码。其main文件中,代码分为4个部分,分别是包含头文件、数据结构的定义、任务处理函数的定义、mian函数。

包含头文件。主要是将要是用的库包含进去。在蓝牙Profile的开发中,开发者不需要顾虑蓝牙底层协议栈的开发(单芯片的开发方式[5]),因为在CSR提供的SDK中已经将协议栈做成了固件,在xIDE中编程时,只需要将需要的库包含进去,即可调用相应API,这样开发者可以专注于上层应用Profile的开发。CSR提供的库[6]包括基础库、支持库、剖面库。基础库主要是标准C基础库和CSR基础库;支持库主要是支持RFCOMM、L2CAP和SC0连接的实现;剖面库提供了剖面和其他库的接口。

数据结构的定义。在定义了指向任务处理函数指针,在messageloop()函数中,被用来指向处理被触发事件产生的message的函数。在越复杂的Profile中,数据结构的定义越复杂。

任务处理函数的定义。蓝牙剖面的编程开发使用了面向对象编程技术,采用事件触发,任务队列,信息队列的机制[7]。该函数是在事件被触发后,相应的消息Message(事件消息,与MAP中的message有质的区别)传入,通过判断message

的属性后,调用不同的任务处理函数来对进行处理。在简单的Profile应用中,往往代码只有一个task handler即任务处理函数,在复杂的应用中,可能有多个handler分别处理不同类的message。Message handler函数static void connect_han

dler(Task task,MessageId id,Message message)的参数分别是指向该任务的函数指针、message的ID号、message包含的信息。在该函数中,主要通过switch(id)来对该message做不同的处理。例如在“case CL_INIT_CFM:”时,先对message包含的信息进行保存,即CL_INIT_CFM_T *msg = (CL_INIT_CFM_

T*)message;再判断连接初始化是否成功,if(msg->status ==success)则表明连接初始化成功;紧接着初始化Opp,OppsInit(&OPPState.OppTask,1)后(因为该代码使用的是实现了Opp和FTP Profile,这里仅对Opp的代码进行说明,ftp大同小异)再使设备可见ConnectionWriteScanEnable(hci_scan

_Enable_inq_and_page)这样使远程设备可以发现和寻呼本地设备。其他的id如CL_DM_LINK_SUPERVISION_TIMEOUT_IND,CL_DM_SNIFF_SUB_RATING_IND等的处理内容就不一一说明了,其实现两个设备配对和数据传输是由OBEX协议以及Opp所规定的,在对此进行实现的过程中要详细阅读OBEX协议和Opp Profile的说明书。

Main函数。包括初始化指向任务函数handler的指针:MainState.ConTask.handler = connect_handler,初始化OPP server 信息的指针:opp_initTask(&OPPState),初始化链接库:ConnectionInit(&MainState.ConTask),消息队列循环:MessageLoop(),消息队列循环函数主要是依据事件触发后产生的message调用相应的handler。例如在Connection

Init(&MainState.ConTask),初始化完成后,会产生一个message,其id=CL_INIT_CFM,则由connect_handler来处理,具体情况上段文字已经说明。处理完该事件后,继续轮询,注意MessageLoop()函数是没有返回值的,因为程序一直执行该函数而不跳出。

MAP Profile应用代码的编写。在OBEX server代码中包含了opp和ftp应用的代码,通过Opp代码尝试写ftp的代码,然后和标准程序做对比,烧到蓝牙开发板模块中调试。成功后,再根据MAP Profile的说明文档进行代码编写。MAP中规定了4个功能分别是:短信通知功能、阅读功能、上载功能、处理功能。每个功能定义了发送和返回消息的信息格式以及发送事件的函数流程。开发者要依据自身产品的需求选择对应的功能来进行研发。

本文通过对蓝牙协议和其剖面以及当下蓝牙产品的发展情况做了简单的概述,论证了蓝牙产品需要创新的必要性和可实现性。而基于时代的潮流,MAP短问Profile于车载的应用也是极具市场竞争力。在MAP Profile的开发中,可以参考CSR SDK提供的OBEX serve代码,重点掌握任务、事件、消息机制,消息的处理,OBEX库API的调用,以及蓝牙协议栈固件的使用。再结合MAP Specification根据自身产品的需求进行功能选择来进行研发。随着人们日益增长的需求,蓝牙产品必然会包含更多的Profile应用,剖面Profile的研发在单芯片的开发模式中大同小异。随着效果优良功能齐全的蓝牙产品的面市,蓝牙技术必然会给人们的生活带来更多的精彩。

参考文献:

[1]baike.省略/view/1028.htm.

[2]Bluetooth Special Interest Group, IrDA Interoperability.

[3]Specification of the Bluetooth System, Core, version 1.2 or Later, MAP.

[4]钱志鸿、杨帆、周求湛,蓝牙技术原理、开发与应用[M].北京:北京航空航天大学出版社,2006.

[5]马建辉、吕梦兴、马共立,Bluecore5-MM在车载蓝牙设备中的应用[J].电子设计工程,2009(17).

[6]BlueLab Support Documentation: CS-101501-UGP3_BlueLab_Lib

raries.

大数据时代的含义范文4

关键词:关联规则 功能参数 广义模块 关联度

中图分类号:TH122 文献标示码:A 文章编号:1007-9416(2015)07-0000-00

随着科技进步和生产力的不断发展,客户个性化需求也日趋提高[1],在产品的设计与生产中越来越多的融入客户的个性化需求,因此大批量生产的方式开始逐渐不适应当代市场的运营模式。为了降低设计成本和提高设计效率,基于知识的产品设计受到越来越多的重视,各国学者纷纷开展了从产品数据中进行产品设计知识发现的研究。

从历史产品数据中进行产品配置知识挖掘是产品设计知识发现研究中的一个重要方面,其中一个应用比较广泛的方法是对产品族中的功能参数值和实例模块进行关联规则分析。其所发现的是特定功能参数值与实例模块之间的强关联规则,不能反映出功能参数与广义模块之间的关联关系;且产生的功能参数值与实例模块间的强关联规则往往较多,为从众多的强关联规则中选出有效的强关联规则作为产品设计的配置知识,需要有经验的设计人员进行甄别选择,因而有效强关联规则的选择是一个非常的繁杂的过程,且带有较强的主观性。为解决这一问题本文引入了功能参数集与广义模块关联度的概念,并提出了关联度计算的理论模型,对产品数据中隐含的功能与结构的关联关系进行发现,并将所发现的结果用于指导产品设计配置规则知识的提取。

1产品功能与结构关联关系发现的若干定义

产品数据管理(Product Data Management,PDM)系统中的大量产品数据中蕴含有丰富的设计知识,通过运用数据挖掘技术对PDM中产品族的各派生产品的功能参数及其组件模块配置进行分析,发现其中隐含的功能与结构间的关系。下面对其中一些名词进行定义。

(1)广义组件模块,简称广义模块,用GM(generalized module)表示,即参数化的组件模块;一个广义模块包含多个实例模块,各实例模块功能和结构具有较高的相似性。

(2)实例组件模块,简称实例模块,用SM(specific module)表示,当广义模块中各参数取定确定值时,广义模块转化为实例模块。

(3)功能参数事务,对于产品族内确定的产品其各功能参数值是确定的,产品的各功能参数值构成其功能参数事务。设产品族P的功能参数集合为 ,功能参数 的值集为 。产品族P中实例产品Pi的功能事务所含项目(简称项)的集合为 , 表示产品Pi对应于功能参数 的参数值,若产品Pi不具有功能参数 表征的功能则 记为空值。

(4)模块配置事务,对于确定的产品其组成结构是确定的,构成该产品的实例模块组成产品的模块配置事务。设产品族P的广义模块集合为 ,产品族P中实例产品Pi的模块配置事务所含项目的集合为 , 表示产品Pi对应于广义模块 的实例模块,若产品Pi的模块配置中不含有广义模块 相应的实例模块则 记为空值。

(5)关联规则:由事物A出现推出事物B出现称为A与B间的关联规则,记为 。本文的功能参数值与实例模块间的关联规则,如无特别说明均为功能参数值 实例模块。

(6)关联度:用于表征功能参数与广义模块间,即功能与结构间的关联关系,关联度越大说明功能与结构间的关联关系越强。

2产品功能与结构关联关系发现

2.1功能参数值与实例模块关联规则分析

产品事务由功能事务和模块配置事务组成[10],设产品族P中实例产品Pi的产品事务的项目集合为 。为发现功能参数值与实例模块之间隐含的关联规则,对产品族中实例产品的功能参数值和实例模块进行关联规则分析。

设I1是由隶属于不同功能参数的功能参数值组成的项集,I2为一个实例模块项,T为产品事务,D为产品事务库。以I1与I2的关联规则分析为例对功能参数值与实例模块的关联规则分析方法进行说明。

设定关联度 的阈值为 ,若 等于或大于阈值 ,且功能参数集 的任意子集与广义模块 的关联度均小于 则认为功能参数集 与广义模块 存在强关联关系;否则,认为不存在强关联关系;从而从产品数据中发现隐含的功能与结构的关联关系。

若功能参数集 与广义模块 存在强关联关系,则认为所发现的对应于 的各功能参数值项集与广义模块 中实例模块间的强关联规则具有较高的效用性,将强关联规则提取作为产品设计的配置规则。

3结语

提出了一种用于从产品数据中进行功能参数与广义模块间关联关系挖掘的理论方法,用于发现产品数据中隐含的功能与结构的关联关系。其结果可作为在运用关联规则算法进行产品配置知识发现时提取有效强关联规则的依据;并且所得出的功能参数与广义模块的强关联关系,可作为通过产品功能参数值变化下广义模块参数变化规律分析以对发现的知识进行拓展的基。通过所发现的产品功能参数与广义模块间的强关联关系,指导对功能参数值与实例模块间有效强关联规则的选取,可以有效地提高选取的准确度和工作效率。

参考文献

[1]鲁玉军,邓心伟,王春青.支持大批量定制的知识管理方法研究[J].中国机械工程,2012,23(13):1561-1566.

[2]王体春,良峰,王威.基于知识重用的产品方案设计多级实例推模型[J].计算机集成制造系统,2011,17(3):571-576.

[3]刘巍巍,邵文达,刘晓冰.面向机械产品创新与快速设计的知识建模方法研究[J].组合机床与自动化加土技术,2014,5:27-30.

[4]罗忠诚,张志强,王忠浩.采用数据挖掘的产品族工程配置知识发现研究[J].现代制造工程, 2008,7:102-106.

[5]谭宏志,钟梁维.基于广义模块化的产品族规划设计研究[J].现代制造工程,2013,12:93-98.

[6]高卫国,徐燕申,陈永亮.广义模块化设计原理及方法[J].机械工程学报,2007,43(6):48-53.

[7]崔阳,杨炳儒.知识发现中的因果关联规则挖掘研究[J].计算机工程与应用,2009,45(31):9-14.

[8]罗好,郭钢,徐建萍.基于多维关联规则的产品族配置研究[J].中国机械工程,2011,22(19).

大数据时代的含义范文5

一、选择题(每题3分,共30分)1.计算:(﹣3)2=()  A. 6 B. ﹣6 C. 9 D. ﹣9考点: 有理数的乘方.分析: 根据有理数的乘方运算,(﹣3)2表示2个(﹣3)的乘积.解答: 解:(﹣3)2=9.故选C.点评: 本题考查了有理数的乘方,乘方是乘法的特例,乘方的运算可以利用乘法的运算来进行.负数的奇数次幂是负数,负数的偶数次幂是正数. 2.下列数轴的画法正确的是()  A. B. C. D. 考点: 数轴.分析: 数轴就是规定了原点、正方向、单位长度的直线.数轴的这三个要素必须同时具备.解答: 解:A、正确;B、单位长度不统一,故错误;C、没有正方向,故错误;D、单 位长度不统一,故错误.故选A.点评: 数轴的三要素:原点、正方向、单位长度在画数轴时必须同时具备. 3.在 , , , 中,无理数有()个.  A. 1 B. 2 C. 3 D. 4考点: 无理数.分析:由于无理数是无限不循环小数,利用无理数的定义即可判定选择项.解答: 解:在 , , , 中,根据无理数的概念,则其中的无理数有﹣ 、 两个.故选B.点评: 此题主要考查了无理数的定义.此题注意:﹣ =﹣3,是有理数. 4.若3xn+5y与﹣x3y是同类项,则n=()  A. 2 B. ﹣5 C. ﹣2 D. 5考点: 同类项.分析: 根据同类项的定义(所含字母相同,并且所含相同字母的次数分别相同的项,叫做同类项),推出n+5=3,即可求出n的值.解答: 解:若3xn+5y与﹣x3y是同类项,n+5=3,n=﹣2.故选C.点评: 本题主要考查学生对同类项概念的理解和认识,关键在于认真的运用同类项的定义进行正确的分析. 5.如果x=﹣1是关于x的方程3x﹣2m=5的根,则m的值是()  A. ﹣4 B. ﹣2 C. 1 D. ﹣1考点: 一元一次方程的解.专题: 计算题.分析: 把x=﹣1代入方程计算即可求出m的值.解答: 解:把x=﹣1代入方程得:﹣3﹣2m=5,解得:m=﹣4.故选A点评: 此题考查了一元一次方程的解,方程的解即为能使方程左右两边相等的未知数的值. 6.下列各式中运算正确的是()  A. 4a﹣3a=1 B. a3+a3=a6  C. 2a3+6a2=8a5 D. 5a3b2﹣6b2a3=﹣a3b2考点: 合并同类项.分析: 根据合并同类项:系数相加字母及指数不变,可得答案.解答: 解:A、系数相加字母及指数不变,故A错误;B、系数相加字母及指数不变,故 B错误;C、不是同类项的不能合并,故C错误;D、系数相加字母及指数不变,故D正确;故选:D.点评: 本题考查了合并同类项,系数相加字母及指数不变是解题关键. 7.如图,已知∠AOB=40°,∠AOC=90°,OD平分∠BOC,则∠AOD的度数是()   A. 20° B. 25° C. 30° D. 35°考点: 角平分线的定义.分析: 先求出∠BOC=40°+90°=130°,再根据角平分线的定义求得∠BOD=65°,把对应数值代入∠AOD=∠BOD﹣∠AOB即可求解.解答: 解:∠AOB=40°,∠AOC=90°,∠BOC=40°+90°=130°,OD平分∠BOC,∠BOD=65°,∠AOD=∠BOD﹣∠AOB=65°﹣40°=25°.故选B.点评: 本题主要考查了角平分线的定义和角的运算.要会结合图形找到其中的等量关系:∠BOC=∠AOC+∠AOB,∠AOD=∠BOD﹣∠AOB是解题的关键. 8.如图,将矩形ABCD沿AE折叠,使D点落在BC边的F处,若∠BAF=60°,则∠DAE等于()   A. 15° B. 30° C. 45° D. 60°考点: 矩形的性质.专题: 计算题.分析: 本题主要考查矩形的性质以及折叠,求解即可.解答: 解:因为∠EAF是DAE沿AE折叠而得,所以∠EAF=∠DAE.又因为在矩形中∠DAB=90°,即∠EAF+∠DAE+∠BAF=90°,又∠BAF=60°,所以∠AED= =15°.故选A.点评: 图形的折叠实际上相当于把折叠部分沿着折痕所在直线作轴对称,所以折叠前后的两个图形是全等三角形,复合的部分就是对应量. 9.元旦那天,6位朋友均匀地围坐在圆桌旁共度佳节.圆桌半径为60cm,每人离圆桌的距离均为10cm,现又来了两名客人,每人向后挪动了相同的距离,再左右调整位置,使8人都坐下,并且8人之间的距离与原来6人之间的距离(即在圆周上两人之间的圆弧的长)相等.设每人向后挪动的距离为x,根据题意,可列方程()   A. B.   C. 2π(60+10)×6=2π(60+π)×8 D. 2π(60﹣x)×8=2π(60+x)×6考点: 由实际问题抽象出一元一次方程.专题: 几何图形问题;压轴题.分析: 首先理解题意找出题中存在的等量关系:8人之间的距离=原来6人之间的距离,根据等量关系列方程即可.解答: 解:设每人向后挪动的距离为x,则这8个人之间的距离是: ,6人之间的距离是: ,根据等量关系列方程得: = .故选A.点评: 列方程解应用题的关键是找出题目中的相等关系. 10.一个机器人从数轴原点出发,沿数轴正方向以每前进3步后退2步的程序运动.设该机器人每秒前进或后退1步,并且每步的距离为1个单位长,xn表示第n秒时机器人在数轴上的位置所对应的数,给出下列结论:①x3=3;②x5=1;③x103<x104;④x2011<x2012其中,正确结论的序号是()  A. ①③ B. ②③ C. ①②③ D. ①②④考点: 数轴.分析: 按“前进3步后退2步”的步骤去算,就可得出正确的答案.解答: 解:根据题意得:x1=1,x2=2,x3=3,x4=2,x5=1,由此的出规律“前进3步后退2步”这5秒组成一个循环结构,把n是5的倍数哪些去掉,就剩下1~4之间的数,然后再按“前进3步后退2步”的步骤去算,就可得出①,②,④.故选D.点评: 此题主要考查了数轴,要注意数轴上点的移动规律是“左减右加”.把数和点对应起来,也就是把“数”和“形”结合起来,二者互相补充,相辅相成,把很多复杂的问题转化为简单的问题,在学习中要注意培养数形结合的数学思想. 二、填空题(每题2分,共20分)11.比较大小:﹣2 <  .(用“>”、“<”或“=”填空)考点: 有理数大小比较.分析: 先得到这2个数的绝对值,进行比较,进而根据两个负数的比较方法,比较即可.解答: 解:|﹣2|=2,|﹣ |= ,2< ,﹣2< ,故答案为:<.点评: 考查有理数的比较;用到的知识点为:两个负数,绝对值大的反而小. 12.化简3a﹣(3a﹣2)的结果是 2 .考点: 整式的加减.专题: 计算题.分析: 原式去括号合并即可得到结果.解答: 解:原式=3a﹣3a+2=2.故答案为:2点评: 此题考查了整式的加减,涉及的知识有:去括号法则,以及合并同类项法则,熟练掌握法则是解本题的关键. 13.如图,C是线段AB的中点,D在线段CB上,AD=7,DB=4,则CD的长等于 1.5 .考点: 两点间的距离.分析: 先根据AD=7,DB=4求出线段AB的长,再由点C是线段AB的中点求出BC的长,由CD=BC﹣DB即可得出结论.解答: 解:AD=7,DB=4,AB=AC+BD=7+4=11,C是线段AB的中点,BC= AB= ×11=5.5,CD=BC﹣DB=5.5﹣4=1.5.故答案为:1.5.点评: 本题考查的是两点间的距离,解答此类问题时要注意各线段之间的和、差关系. 14.如图,把一块直角三角板的直角顶点放在一条直线上,如果∠2=53°42′,那么∠1= 36°18′ . 考点: 余角和补角.分析: 根据直角三角形的性质,即可推出∠1=90°﹣∠2,由∠2=53°42′,即可而推出∠1的度数.解答: 解:如图,∠2=53°42′,∠1=90°﹣∠2=90°﹣53°42′=36°18′.故答案为:36°18′.点评: 本题主要考查直角三角形的性质,角的计算,度分秒之间的换算等知识,关键在于认真的进行计算. 15.一个角的补角比它的余角的2倍大40度,则这个角的度数为 40 度.考点: 余角和补角.分析: 设出所求的角为x,则它的补角为180°﹣x,余角为90°﹣x,根据题意列出方程,再解方程即可,解答: 解:设这个角为的度数为x;根据题意得: 180°﹣x=2(90°﹣x)+40°,解得 x=40°,因此这个角的度数为40°;故答案为:40.点评: 本题考查了余角和补角的定义;根据角之间的互余和互补关系列出方程是解决问题的关键. 16.当x=1时,代数式px3+qx﹣1的值是2014,则当x=﹣1时,代数式px3+qx﹣1的值是 ﹣2016 .考点: 代数式求值.分析: 把x=1代入代数式得2014,由此可得到p+q的值;把x=﹣1代入,可得到含有p+q的式子,直接解答即可.解答: 解:当x=1时,代数式px3+qx﹣1=p+q﹣1=2014,即p+q=2015,所以当x=﹣1时,代数式px3+qx﹣10=﹣p﹣q﹣1=﹣(p+q)﹣1=﹣2015﹣1=﹣2016.故答案为:﹣2016.点评: 本题考查了代数式求值,代数式中的字母表示的数没有明确告知,而是隐含在题设中,首先应从题设中获取代数式p+q的值,然后利用“整体代入法”求代数式的值. 17.写出一个系数 是3,且含有字母a、b的4次单项式 3ab3 .考点: 单项式.专题: 开放型.分析: 根据单项式的系数是数字因 数,次数是字母指数和,可得答案.解答: 解:系数是3,且含有字 母a、b的4次单项式有3ab3.故答案为:3ab3.点评: 本题考查了单项式,利用了单项式的系数,单项式的次数. 18.有理数a、b在数轴上的表示如图所示,则下列结论中:①ab<0;②a+b<0;③a﹣b<0;④a<|b|;⑤﹣a>﹣b.正确的有 ①②④ (只要填写序号). 考点: 数轴.分析: 先根据a,b在数轴上的位置得到a,b的符号,以及绝对值的大小,再根据有理数的运算法则及不等式的性质进行判断.解答: 解:根据数轴可得:b<0<a,且|b|>|a|.即a<|b|,故④正确;根据有理数的乘法法则得到:①ab<0正确;根据有理数加法法则得到:②正确;a>b,a﹣b>0.故③错误;由a>b,根据不等式的性质两边同时乘以﹣1,得:﹣a<﹣b,故⑤错误.故正确的有:①②④.点评: 本题考查了利用数轴确定a,b的大小关系,有理数的运算法则及不等式的性质. 19.按下面的程序运算,若开始输入x的值为正数,最后输出的结果为656,请写出两个符合条件的x的值 0.8或5或26或131 (答案不). 考点: 一元一次方程的应用.专题: 开放型;图表型.分析: 根据题意,首先能得到:5x+1=656,可求出x的值,然后循环代入计算即可.解答: 解:根据最后计算的结果是656,则有5x+1=656,解得x=131;再根据5x+1=131,解得x=26;再根据5x+1=26,解得x=5;再根据5x+1=5,解得x=0.8.点评: 此题要根据结果计算x的值,要能熟练解方程.20.一列匀速前进的火车,从它进入600米的隧道到离开,共需30秒,又知在隧道顶部的一盏固定的灯发出的一束光线垂直照射火车5秒,则这列火车的长度是 120 米.考点: 一元一次方程的应用.专题: 行程问题.分析: 等量关系为:(隧道长度+火车长度)÷30=火车长度÷5解答: 解:设这列火车的长度是x米.由题意得:(600+x)÷30=x÷5,解得:x=120.这列火车的长度是120米.点评: 根据速度不变找到相应的等量关系是解决问题的关键,难点是理解火车通过隧道走的路程为隧道长度+火车长度. 三、解答题(共50分)21.计算:(1)11﹣13+18(2)( + ﹣ )×(﹣60)(3)﹣ [﹣32}×(﹣ )2﹣2].考点: 有理数的混合运算.分析: (1)分类计算即可;(2)利用乘法分配律简算;(3)先算乘方,再算括号里面的乘法,再算括号里面的减法,最后算括号外面的.解答: 解:(1)原式=29﹣13=16;(2)原式= ×(﹣60)+ ×(﹣60)﹣ ×(﹣60)=﹣45﹣35+70=﹣10;(2)原式=﹣ ×[﹣9× ﹣2]=﹣ ×[﹣4﹣2]=﹣ ×(﹣6)= .点评: 此题考查有理数的混合运算,掌握运算顺序,正确判定运算符号计算即可. 22.解下列方程:(1)4x﹣3(5﹣x)=6(2) ﹣ =1.考点: 解一元一次方程.专题: 计算题.分析: (1)方程去括号,移项合并,把x系数化为1,求出解即可;(2)方程去分母,去括号,移项合并,把x系数化为1,求出解即可.解答: 解:(1)去括号得:4x﹣15+3x=6,移项合并得:7x=21,解得:x=3;(2)去分母得:4(2x﹣1)﹣3(2x﹣3)=12,去括号得:8x﹣4﹣6x+9=12,移项合并得:2x=7,解得:x=3.5.点评: 此题考查了解一元一次方程,其步骤为:去分母,去括号,移项合并,把未知数系数化为1,求出解. 23.先化简,再求值.(1)9x+6x2﹣3(x﹣ x2),其中x=1;(2)已知m﹣n=4,mn=﹣1.求:(﹣2mn+2m+3n)﹣(3mn+2n﹣2m)﹣(m+4n+mn)的值.考点: 整式的加减—化简求值.专题: 计算题.分析: (1)原式去括号合并得到最简结果,把x的值代入计算即可求出值; (2)原式去括号合并后,把已知等式代入计算即可求出值.解答: 解:(1)原式=9x+6x2﹣3x+2x2=8x2+6x,当x=1时,原式=8+6=14;(2)原式=﹣2mn+2m+3n﹣3mn﹣2n+2m﹣m﹣4n﹣mn=﹣6mn+3m﹣3n=﹣6mn+3(m﹣n),把m﹣n=4,mn=﹣1代入得:原式=6+12=18.点评: 此题考查了整式的加减﹣化简求值,熟练掌握运算法则是解本题的关键. 24.如图,点C是∠AOB的边OB上的一点,按下列要求画图并回答问题.(1)过点C画OB的垂线,交OA于点D;(2)过点C画OA的垂线,垂足为E;(3)比较线段CE、OD、CD的大小关系(用“<”连接),并说明理由. 考点: 作图—基本作图;垂线段最短.分析: (1)过点C画∠DCB=90°即可;(2)过点C画∠CEO=90°即可;(3)根据点到直线的距离可得,线段CE、OD、CD这三条线段大小关系.解答: 解:(1)如图所示:D为所求;(2)如图所示:E为所求;(3)CE<OD<CD(从直线外一点到这条直线所作的垂线段最短). 点评: 本题主要考查了基本作图﹣﹣﹣﹣作已知直线的垂线,另外还需利用点到直线的距离才可解决问题. 25.如图,直线BC与MN相交于点O,AOBC.(1)分别写出图中与∠AOM互余和互补的角;(2)已知OE平分∠BON,且∠EO N=20°,求∠AOM的度数. 考点: 余角和补角;角平分线的定义;对顶角、邻补角.分析: (1)若两个角的和为90°,则这两个角互余;若两个角的和等于180°,则这两个角互补.根据已知条件由互余、互补的定义即可确定.(2)首先根据角的平分线的定义求得∠BON,然后根据对顶角相等求得∠MOC,然后根据∠AOM=90°﹣∠COM即可求解.解答: 解:(1)与∠AOM互余的角是:∠COM,∠BON;互补的角是:∠AON;(2):OE平分∠BON,∠BON=2∠EON=40°,∠COM=∠BON=40°,AOBC,∠AOC=90°,∠AOM=90°﹣∠COM=90°﹣40°=50°.点评: 此题综合考查余角和补角,垂直的定义、角平分线的定义以及对顶角的性质,(2)中正确求得∠MOC的度数是关键. 26.(1)甲每天能生产某种零件80个,甲生产3天后,乙加入与甲生产同一种零件,再经过5天,两人共生产这种零件940个.问乙每天生产零件多少个?(2)A、B两地相距940千米,甲以每小时80千米的速度从A地出发去B地,3小时后,乙从B地出发去A地,再经过5小时,甲、乙两人相遇.问乙的速度是多少?(3)请你谈谈(1)、(2)两题的联系.(字数不超过40个)考点: 一元一次方程的应用.分析: (1)乙每天生产零件x个,根据甲、乙一共生产的零件为940个建立方程求出其解即可;(2)设乙的速度是每小时y千米.根据甲行驶的路程+乙行驶的路程=全程940建立方程求出其解就可以了;(3)根据题意可以得出这两道题的类型不一样,但是解法相同.解答: 解:(1)设乙每天生产零件x个.由题意,得3×80+5(80+x)=940 解得:x=60  答:乙每天生产零件60个. (2)设乙的速度是每小时y千米.由题意,得:3×80+5(80+y)=940 解得:y=60  答:乙的速度是每小时60千米. (3)通过分析得:这是两个实质一样,情景不一样的应用题,可用相同的方程解答.点评: 本题考查了列一元一次方程解行程问题和解工程问题的运用题的运用,工作量=工作效率×工作时间,路程=速度×时间的运用,解答时根据数量关系建立方程是关键. 27.为了鼓励居民节约用水,某小区水费收费标准如下:(水费每月一交)设每户家庭用水量为x吨时,应交水费y元.月水量/吨 收费标准/元0~17(含17) 3.0017~30(含30) 5.0030以上 6.80(1)当0≤x≤17时,y= 3x (用含x的代数式表示);当17<x≤30时,y= 5x (用含x的代数式表示).(2)小明家四月份交水费56元,五月份比四月份少用水2吨,五月份和六月份一共交水费119元,请问小明家这个季度共用水多少吨?考点: 一元一次方程的应用.分析: (1)因为月用水量不超过 17吨时,按3元/吨计费,所以当0≤x≤17时,y与x的函数表达式是y=3x;因为月用水量超过17吨而不大于30吨时,按5元/吨计费,所以当17<x≤30时,y与x的函数表达式是y=5x;(2)由题意可得:因为四月份缴费金额不超过51元,所以用y=3x计算用水量;五月份比四月份少用水2吨,利用y=5x计算水费;五月份和六月份一共交水 费119元,进一步得出结果即可.解答: 解:(1)当0≤x≤17时,y与x的函数表达式是y=3x;当17<x≤30时,y与x的函数表达式是y=5x;故答案是:3x;5x;(2)56>17×3=51,把y=56代入y=3x中,得x= .则五月份的用水量为: +2= (吨),五月份的水费是:y= ×5= ,六月份的水费:119﹣ = (元).把y= 代入y=2x,得 =2x,解得 x= .所以 小明家这个季度共用水: + + = (吨).答:小明家这个季度共用水 吨.点评: 此题考查一次函数的实际运用,根据题目蕴含的数量关系解决问题.

大数据时代的含义范文6

一、序言

近年来,随着C语言的进一步推广使用,绝大多数的工程师都倾向于使用C语言进行单片机系统开发,汇编语言由于可读性、通用性、可移植性差的原因,很难满足产品开发的需求。但是汇编语言具有执行效率高、占用内存空间小等特点,在某些应用领域还是具有无可替代的作用。

本文结合Keil μVision2程序开发流程,描述了51单片机汇编程序多文件编译的实现方法。通过多文件编译的使用,大大提高了汇编程序代码的可读性、可扩展性,同时也很大程度地提高程序代码的执行效率以及内存空间的使用率,避免内存空间的浪费。

二、Keil μVision2程序开发流程简介

Keil μVision2是美国Keil Software公司出品的51系列兼容单片机软件集成开发环境,该软件提供宏汇编器、链接/定位器、库管理器、调试器以及目标文件转换器等工具,是51单片机系统开发的首选工具。

Keil μVision2集成开发环境的编译流程如下:首先宏汇编器对汇编源程序文件进行编译,生成扩展名为.OBJ的目标文件和扩展名为.LST的列表文件,紧接着链接/定位器将所有的.OBJ文件进行绝对地址分配,链接生成包含绝对地址的目标文件和扩展名为.M51的地址文件,最后由目标文件转换器生成可用于编程器烧写、扩展名为.HEX的可执行文件。

三、汇编程序多文件编译实现

在Keil μVision2集成开发环境下,我们可以根据不同的硬件模块、功能模块分开编写应用子程序,进行模块化管理,实现多文件编译,这样就可以大大提高汇编程序代码的可读性、可扩展性。以下首先对段和模块的概念进行描述。

一个段可以是一块程序代码或者是一个数据块。根据其地址空间是否可以被链接/定位器更改,段可以分为可定位段和绝对地址段。在定义可重定位段的时候需要对其段名、类型及其属性进行定义。一个段可以分在不同的程序模块中,只要具有相同的段名,在编译过程中链接/定位器会把它们合并到一起。在定义绝对地址段的时候直接人为分配绝对地址,链接/定位器不能对改地址进行更改。绝对地址段没有段名,也不能给其他段结合。

模块是一个可以被单独编译的代码单元,可以包含一个或多个段或者部分段,一个模块既可以是单个文本文件,也可以通过INCLUDE指令把几个文本文件合并在一起。在程序编译过程中,汇编器会把一个模块编译为一个目标文件,也就是一个模块对应一个.OBJ文件。

根据以上对段和模块的描述,汇编程序的多文件编译可以通过以下三个方法来实现:

1、通过INCLUDE指令合并源文件

在代码编写时,通过INCLUDE指令可以将一个源文件插入到当前源文件中,这样汇编器在编译的时候就会将INCLUDE指令之后的文件合并到当前文件进行编译,生成一个扩展名为.OBJ的目标文件。INCLUDE指令的格式如下:

$ INCLUDE (文件名)

通过该方式实现多文件编译时,插入的源文件既可以是扩展名为.ASM的汇编源程序文件,也可以是扩展名为.INC的包含文件。注意在被包含的源文件结尾不能有END指令,否则编译会停止运行。

2、通过绝对地址段实现多文件编译

Keil μVision2中提供以下定义绝对地址段的指令,通过这些指令可以定义代码段和各种数据段,并指定其绝对地址。

由于绝对地址段在定义的时候对地址进行了分配,链接/定位器不能够对其地址进行更改,因此很容易造成地址重叠或者内存空间浪费,而且在后续对程序进行维护、升级的时候很有可能需要重新对地址进行分配,非常不利于程序的扩展和维护。因此绝对地址段通常是用在某些特定的场合,例如确定中断向量的入口地址、数据存储空间等。

3、通过可重定位段实现多文件编译

在Keil μVision2中,通过SEGMENT指令即可定义可重定位段。定义可重定位段时必须指定段的名称和存储类型,其格式如下:

四、总结

通过以上三种方式,均可以实现多文件编译,但是在实际使用过程中,INCLUDE指令通常用于包含特殊功能寄存器的定义等;绝对地址段则通常用于确定中断向量的入口地址、数据存储空间;而可重定位段的方式则广泛地用于各种代码段或数据段的定义。

通过多文件编译的方式,解决了单文件编译会导致程序文件过于臃肿、可读性差、不便于维护等缺点,大大提高汇编程序代码的可读性以及可维护性。

参考文献

[1] Keil Software. A51/AX51/A251 Macro Assembler and Utilities.2001.