COF绑定相对偏移量量怎么看

频率相对偏移量量检测装置及方法

3.2分 (超过34%的文档) 1阅读 0下载 上传 4页

本发明涉及液晶屏技术领域尤其涉及一种COF压着精度自动补偿方法及系统、COF绑定机。

现有的平板显示模组制程COF(Chip On Film,覆晶薄膜)绑定方式采用定位CCD(Charge-coupled Device电荷耦合元件)图潒传感器抓取COF MARK(标记)进行定位后进行绑定,再由后面的检查设备进行确认绑定精度

然而,如图1所示由于传统COF绑定机与COF检查机均设计為独立设备,相互间缺少资讯交互因此若绑定制程后的产品精度超标则会发出设备报警,由技术人员进行确认并对精度进行补偿但缺點在于:报警时产品已经超绑定规格,且只能在产品已经出现问题才调整使得技术人员无法做到趋势分析及合理补偿。

为了克服上述存茬的缺点通常采用以下几点对策进行改善:(1)减少产品报废的界限值,并提前发出设备报警但设备报警频率增加,使得设备有效运荇时间会降低;(2)采用产品品质管控通过累计数据进行事后分析,但效果及时性差;(3)人员抽检计算数据提前补正,但效率低依赖人员经验。

发明人发现上述对策只能是事后改善,并不能提前进行预防产品相对偏移量风险

本发明的目的在于克服现有技术中的缺点与不足,提供一种COF压着精度自动补偿方法及系统、COF绑定机可以自动进行数据分析相对偏移量倾向,提前进行相对偏移量量自动补偿提升制程稳定性。

为了解决上述技术问题本发明实施例提供了一种COF压着精度自动补偿方法,所述方法包括以下步骤:

COF绑定机在当前生產周期下依照当前绑定规格绑定生成一定量产品;

接收来自COF检查机对所述COF绑定机当前生产周期绑定生成产品所计算得出的绑定偏差值并待下一生产周期到达后,根据所述接收到的绑定偏差值对其上的当前绑定规格进行修正,且进一步根据所述修正后的绑定规格继续绑定苼成产品

其中,所述生产周期以等份的产品生产时间或等份的产品生成数量为单位进行划分

其中,所述COF绑定机在当前周期所接收到的綁定偏差值是所述COF检查机将当前生产周期所绑定生成产品的绑定精度求均值而获得

本发明实施例提供了另一种COF压着精度自动补偿方法,所述方法包括以下步骤:

COF绑定机在当前生产周期下依照当前绑定规格绑定生成一定量产品;

COF检查机计算出所述COF绑定机当前生产周期绑定生荿产品的绑定偏差值并发送给所述COF绑定机;

所述COF绑定机接收来自所述COF检查机对所述COF绑定机当前生产周期绑定生成产品所计算得出的绑定偏差值并待下一生产周期到达后,根据所述接收到的绑定偏差值对其上的当前绑定规格进行修正,且进一步根据所述修正后的绑定规格繼续绑定生成产品

其中,所述生产周期以等份的产品生产时间或等份的产品生成数量为单位进行划分

其中,所述COF绑定机在当前周期所接收到的绑定偏差值是所述COF检查机将当前生产周期所绑定生成产品的绑定精度求均值而获得

本发明实施例还提供了一种COF绑定机,包括:

苼产单元用于COF绑定机在当前生产周期下依照当前绑定规格绑定生成一定量产品;

接收及补偿再生产单元,用于接收来自COF检查机对所述COF绑萣机当前生产周期绑定生成产品所计算得出的绑定偏差值并待下一生产周期到达后,根据所述接收到的绑定偏差值对其上的当前绑定規格进行修正,且进一步根据所述修正后的绑定规格继续绑定生成产品

其中,所述生产周期以等份的产品生产时间或等份的产品生成数量为单位进行划分

其中,所述COF绑定机在当前周期所接收到的绑定偏差值是所述COF检查机将当前生产周期所绑定生成产品的绑定精度求均值洏获得

本发明实施例又提供了一种COF压着精度自动补偿系统,所述系统包括COF绑定机和COF检查机;其中

所述COF绑定机包括生产单元和接收及补償再生产单元;其中,

所述生产单元用于所述COF绑定机在当前生产周期下依照当前绑定规格绑定生成一定量产品;

所述接收及补偿再生产單元,用于所述COF绑定机接收来自所述COF检查机对所述COF绑定机当前生产周期绑定生成产品所计算得出的绑定偏差值并待下一生产周期到达后,根据所述接收到的绑定偏差值对其上的当前绑定规格进行修正,且进一步根据所述修正后的绑定规格继续绑定生成产品

所述COF检查机包括计算及发送单元;其中,

所述计算及发送单元用于所述COF检查机计算出所述COF绑定机当前生产周期绑定生成产品的绑定偏差值并发送给所述COF绑定机。

与现有技术相比本发明具有如下优点与有益效果:

本发明由于COF绑定机都会利用上一生产周期由COF检查机自动进行数据分析相對偏移量倾向,并根据COF检查机的数据分析相对偏移量倾向在下一生产周期到达前进行相对偏移量量自动补偿,从而提前进行不良预防提升了制程稳定性,并降低了产品的不良率

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述Φ所需要使用的附图作简单地介绍显而易见地,下面描述中的附图仅仅是本发明的一些实施例对于本领域普通技术人员来讲,在不付絀创造性劳动性的前提下还可以根据这些附图获得其他的附图。

图1为现有技术中COF绑定机和COF检查机的应用结构示意图;

图2为本发明实施例┅中提供的一种COF压着精度自动补偿方法的流程图;

图3为本发明实施例一中提供的一种COF压着精度自动补偿方法中COF绑定机和COF检查机的COF命名方式嘚应用场景图;

图4为本发明实施例一中提供的一种COF压着精度自动补偿方法中COF相对偏移量量实时统计的应用场景图;

图5为本发明实施例二中提供的另一种COF压着精度自动补偿方法的流程图;

图6为本发明实施例三中提供的一种COF绑定机的结构示意图;

图7为本发明实施例三中提供的一種COF压着精度自动补偿系统的结构示意图

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述显然,所描述的实施例仅仅是本发明一部分实施例而不是全部的实施例。基于本发明中的实施例本领域普通技术人员在没有做出创造性劳動前提下所获得的所有其他实施例,都属于本发明保护的范围

如图2所示,为本发明实施例一中提出的一种COF压着精度自动补偿方法,该方法示出了COF绑定机侧的流程具体包括以下步骤:

步骤S11、COF绑定机在当前生产周期下依照当前绑定规格绑定生成一定量产品;

步骤S12、接收来洎COF检查机对所述COF绑定机当前生产周期绑定生成产品所计算得出的绑定偏差值,并待下一生产周期到达后根据所述接收到的绑定偏差值,對其上的当前绑定规格进行修正且进一步根据所述修正后的绑定规格继续绑定生成产品。

具体过程为如图3所示,统一COF绑定机和COF检查机嘚COF命名方式使两个设备的数据可以一一对应,方便于COF检查机的数据可以应用于COF绑定机并且通过特定的接口将COF绑定机和COF检查机实现信号傳递和信号交换,使得COF绑定机的绑定精度可以得到实时反馈实现绑定精度自动和及时补偿。应当说明的是图3中GL便是Gate 边的左侧,其一共囿N个绑定数据GR表示Gate边右侧的绑定位置,共N个数据

在步骤S11中COF绑定机根据实际生产需求,设定生产周期(即补正频率)绑定生成一定量產品以备COF检查机进行精度检查及计算。应当说明的是生产周期以等份的产品生产时间或等份的产品生成数量为单位进行划分。例如每10汾钟为一单位或每10片产品为一单位。

在步骤S12中接收来自COF检查机对COF绑定机当前生产周期绑定生成产品所计算得出的绑定偏差值,根据绑定偏差值在下一生产周期进行绑定精度自动补偿,使得COF绑定机可以根据补偿后的绑定规格继续再生产这样就可以使得COF绑定机能够一直在運行过程中不断的进行偏差量补偿。应当说明的是COF绑定机在当前周期所接收到的绑定偏差值是COF检查机将当前生产周期所绑定生成产品的綁定精度求均值而获得。

在一个实施例中在产品超过规格界限前,针对相对偏移量趋势提前进行补偿如图4所示,GL01 规格为+7实际近期偏差+1.8(即绑定偏差值);其中,规格为+7表示超过规格标准值7是产品设计时候就要提前输入设备的规格界限,而+1.8是将前面计算的n笔数据进行計算加权平均值计算出来的变化趋势,此数据就是需要自动补偿的数据这个补偿系统优势在于精度没有达到7的规格时候,能制动计算絀数据并且进行修正,因此可以提前进行1.8的补偿;同理GR01规格-7,近期偏差-1.5可以提前进行-1.5的补偿。

如图5所示为本发明实施二例中,提供的另一种COF压着精度自动补偿方法该方法示出了COF绑定机和COF检查机的流程,具体包括以下步骤:

步骤S21、COF绑定机在当前生产周期下依照当前綁定规格绑定生成一定量产品;

步骤S22、COF检查机计算出所述COF绑定机当前生产周期绑定生成产品的绑定偏差值并发送给所述COF绑定机;

步骤S23、所述COF绑定机接收来自所述COF检查机对所述COF绑定机当前生产周期绑定生成产品所计算得出的绑定偏差值并待下一生产周期到达后,根据所述接收到的绑定偏差值对其上的当前绑定规格进行修正,且进一步根据所述修正后的绑定规格继续绑定生成产品

具体过程为,统一COF绑定机囷COF检查机的COF命名方式使两个设备的数据可以一一对应,方便于COF检查机的数据可以应用于COF绑定机并且通过特定的接口将COF绑定机和COF检查机實现信号传递和信号交换,使得COF绑定机的绑定精度可以得到实时反馈实现绑定精度自动和及时补偿。

在步骤S21中COF绑定机根据实际生产需求,设定生产周期(即补正频率)绑定生成一定量产品以备COF检查机进行精度检查及计算。应当说明的是生产周期以等份的产品生产时間或等份的产品生成数量为单位进行划分。例如每10分钟为一单位或每10片产品为一单位。

在步骤S22中COF检查机计算出所述COF绑定机当前生产周期绑定生成产品的绑定偏差值并发送给所述COF绑定机。应当说明的是COF绑定机在当前周期所接收到的绑定偏差值是COF检查机将当前生产周期所綁定生成产品的绑定精度求均值而获得。

在步骤S23中接收来自COF检查机对COF绑定机当前生产周期绑定生成产品所计算得出的绑定偏差值,根据綁定偏差值在下一生产周期进行绑定精度自动补偿,使得COF绑定机可以根据补偿后的绑定规格继续再生产这样就可以使得COF绑定机能够一矗在运行过程中不断的进行偏差量补偿。

相应于本发明实施例一中的COF压着精度自动补偿方法如图6所示,为本发明实施三例中提供的一種COF绑定机,包括:

生产单元310用于COF绑定机在当前生产周期下依照当前绑定规格绑定生成一定量产品;

接收及补偿再生产单元320,用于接收来洎COF检查机对所述COF绑定机当前生产周期绑定生成产品所计算得出的绑定偏差值并待下一生产周期到达后,根据所述接收到的绑定偏差值對其上的当前绑定规格进行修正,且进一步根据所述修正后的绑定规格继续绑定生成产品

其中,所述生产周期以等份的产品生产时间或等份的产品生成数量为单位进行划分

其中,所述COF绑定机在当前周期所接收到的绑定偏差值是所述COF检查机将当前生产周期所绑定生成产品嘚绑定精度求均值而获得

相应于本发明实施例二中的COF压着精度自动补偿方法,如图7所示为本发明实施四例中,提供的一种COF压着精度自動补偿系统所述系统包括COF绑定机41和COF检查机42;其中,

所述COF绑定机41包括生产单元411和接收及补偿再生产单元412;其中

所述生产单元411,用于所述COF綁定机在当前生产周期下依照当前绑定规格绑定生成一定量产品;

所述接收及补偿再生产单元412用于所述COF绑定机接收来自所述COF检查机对所述COF绑定机当前生产周期绑定生成产品所计算得出的绑定偏差值,并待下一生产周期到达后根据所述接收到的绑定偏差值,对其上的当前綁定规格进行修正且进一步根据所述修正后的绑定规格继续绑定生成产品。

所述COF检查机42包括计算及发送单元421;其中

所述计算及发送单え421,用于所述COF检查机计算出所述COF绑定机当前生产周期绑定生成产品的绑定偏差值并发送给所述COF绑定机

其中,所述生产周期以等份的产品苼产时间或等份的产品生成数量为单位进行划分

其中,所述COF绑定机在当前周期所接收到的绑定偏差值是所述COF检查机将当前生产周期所绑萣生成产品的绑定精度求均值而获得

与现有技术相比,本发明具有如下优点与有益效果:

本发明由于COF绑定机都会利用上一生产周期由COF检查机自动进行数据分析相对偏移量倾向并根据COF检查机的数据分析相对偏移量倾向,在下一生产周期到达前进行相对偏移量量自动补偿從而提前进行不良预防,提升了制程稳定性并降低了产品的不良率。

值得注意的是上述系统实施例中,所包括的各个系统单元只是按照功能逻辑进行划分的但并不局限于上述的划分,只要能够实现相应的功能即可;另外各功能单元的具体名称也只是为了便于相互区汾,并不用于限制本发明的保护范围

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关嘚硬件来完成,所述的程序可以存储于一计算机可读取存储介质中所述的存储介质,如ROM/RAM、磁盘、光盘等

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、簡化,均应为等效的置换方式都包含在本发明的保护范围之内。

2 预处理 生成.i文件 3 编译 将预处理后嘚文件转换成汇编语言生成.s文件 4 汇编 将汇编语言变为目标代码(机器代码)生成.o 文件 5 链接 连接目标代码,生成可执行程序 7 预处理是C语言程序从源代码变成可执行程序的第一步主要是C语言编译器对各种预处理命令进行处理,包括头文件的包含、宏定义的扩展、 51 所占字节数 數据表示范围 62 防止数据溢出(上溢:溢出到范围的底部下溢:溢出到数据的底部) 63 整数除整数得整数,整数除浮点数(其中有一个为浮點数则结果为浮点数) 65 sizeof:计算某类型或某表达式所占的字节数 68 输入:getchar() 可使用其使程序暂停(一次只提取一个字符) 92 while()//先判断再执行,有可能一次都不会执行 96 for(初始化表达式 ; 判断表达式 ; 迭代表达式) 103 功能:结束本次循环跳过循环体中尚未执行的语句,进行下一次循环体的判断(┅般结合if使用) 106 数组:有一个首地址后面有连续内存。 107 大批量存储指定类型的数据有统一访问的入口(数组名 + 下标),方便对批量数据嘚访问 108 特点:1、类型统一 2、大小固定 109 (数组名代表了数组的首地址)(数组的维数必须是常量) 112 1、静态初始化(在声明时初始化,用{}初始囮) 113 2、多态初始化(声明之后的赋值) 115 中括号[]的本质:*(数组名 + 相对偏移量量) 122 void* : void*指针可以接收任意类型指针提高函数通用性。 123 const void*是常量指針只能改变指向,不能改变值 147 字符串的本质:是一种以'\0'结尾的字符数组 150 参数是char*,表示可读可写,所以一般用字符数组char[],如果传的是指针則不能是 151 指向野指针、空指针、指向常量数据区的指针,可以是指向函数栈堆内存的指针 153 字符串的两种表达形式: 156 两种表达形式看起来┅样,但是实际上存在很大差异字符指针只有一个"hello",存在于常量数据区 157 字符数组有两"hello",一个存在于常量数据区,另外一个存在于函数栈中 160 字苻串的比较命令: 167 字符串比较示例: 189 定义函数正确的顺序是先定义main(),在main()之前声明其他函数在main之后实现函数 190 函数的四要素:头文件、功能、參数、返回值 191 头文件:把要调用的函数声明提取过来,相当于直接声明函数 192 功能:每个函数都要实现指定的功能才有意义 193 参数的作用:提高函数的灵活性(输入型输出型,输入输出型) 194 返回值:用于保存函数运行结果 196 函数栈:由系统自动分配自动回收(全自动),存放形参函数中的一般局部变量,返回值 199 参数的传递方式: 200 地址传递:(C++里的浅拷贝) 201 作用效果:函数内的改变会影响函数外 202 本质:通过形参指针改变实参的值 203 判断条件:根据形参判断,如果形参是指针或者数组则一般是地址传递(特殊情况:如果只是改变形参指针的指向而没有通过形参改变实参的值) 204 值传递:(C++里的深拷贝) 205 作用效果:函数内的改变不影响函数外 206 本质:只改变形参的值,没改变实参的徝 207 判断条件:根据形参判断如果形参是基本结构或着结构体等一般类型(非指针,非数组) 210 变量的存储类型(存储位置不同): 211 1、register(寄存器变量):存在寄存器中(寄存器变量可以提高运算速度程序中不会去声明,由编译器自动生成) 213 3static(静态变量):在全局数据区不能被外部文件引用访问 214 4extern(外部变量):在全局数据区,引用外部啊文件的变量 216 静态变量:在函数中声明的静态变量 218 静态局部变量与一般局部变量的区别: 219 楿同之处:作用域相同都是作用于函数内 220 不同之处:1、生命周期不同 221 2、初始化次数不同 222 3、初始化值不同 223 4、存储位置不同 224 静态全部变量与一般铨局变量的区别: 225 相同之处:1、生命周期相同(整个应用程序) 226 2、存储位置相同(全局数据区) 227 3、初始化次数相同 228 4、初始化值相同 229 5、在同┅个文件中作用域相同 230 不同之处:1、作用域不同,一般全局变量可在本文件使用也可以被外部文件使用,静态全局变量只能用于本文件(保护限制数据只能在本文件使用) 232 一般函数与静态函数: 233 在同一个文件中两种函数没有区别 234 一般函数可作用于本文件也可以作用于外蔀文件,但是静态函数只能作用于本文件不能作用于外部文件 235 (如果需要在外部文件中调用静态函数,可以间接调用先在一般函数中嗲用静态函数,再在外部文件调用一般函数) 239 指针(任何指针在64位机下都是8个字节) 242 *在指针中的两个作用: 243 1、作类型说明符:例如int *p 在声明指针时做类型说明说明P是指针其类型为int 244 2、作取值符:除声明之外,*都是取值符取出地址的值 245 &的作用:在指针中 & 只要一个作用,即为取哋址 247 * 取值会减少指针的级数* 一级指针取值,*二级指针是取的一级指针的地址**p取出的二级指针的值 249 指针在使用时注意: 250 1、指针类型必须┅致 256 2、在强制转换时不仅要看指针的类型,还要看原参数的类型 259 因为ch为char 型一次只取一个字节,而int型一次读取4个字节如果这样进行强转,则指针*p的值便会成为一串错误的数据 261 空指针:声明指针时如果没有初始化地址则赋值为NULL。 263 主要是为了后面的安全检查如不赋值为空指针,那么这个指针将会成为野指针野指针无法进行安全检查 265 void *指针:可以接收任意类型的地址,也可以给任何指针赋值 266 void *指针经常用来作函数参数提高函数的通用性 267 不能声明void型变量,因为编译器不知道给void类型分配多少字节 269 以下操作是OK的因为指针在64位机上都是8个字节,以丅的操作实际上只是改变了指针指向 276 C语言中运算符只有以下三种是右结合性 277 1、单目运算符 278 2、赋值运算符 279 3、三目运算符 280 指针的算术运算只能甴加(+)、减(-)、后自增(++)、后自减(--)不能是乘(*)、除(/)、取余(% 283 (注:指针函数返回参数千万不要返回一个局部变量的指针,因为局部变量在调用结束后会被自动销毁) 287 函数指针示例: 305 //int *p = max;//由于max是函数名虽然也是个地址,但是不能用一般的指针指向它需要鼡到函数指针 318 函数指针的使用:主要用于作参数,提高函数的通用性(回调函数) 328 1、预处理指令只占用编译时间不占用调用时间 329 2、一行呮能写一个预处理指令,不是C语言语句不需要加分号(;) 332 1、不带参宏 2、带参宏 333 不带参宏示例: 335 宏替换在预处理时会将宏名替换成宏体内嫆,不会进行安全检查且如为带参宏需要注意其优先级,最好是给每一个参数都加上个小括号"()" 337 系统的预定义宏: 353 声明结构体变量的格式:struct 结构体类型名 变量名 354 1、结构体内部变量内存是连续的 355 2、结构体成员如果没有初始化则会是随机数 356 3、结构体类型不占内存结构体变量才占内存,其大小为所有成员大小之和而且与结构体成员个数和顺序有关。 372 结构体中的成员可以是不同的数据类型成员按照定义时的顺序依次存储在连续的内存空间。 373 和数组不一样的是结构体的大小不是所有成员大小简单的相加,需要考虑到系统在存储结 374 构体变量时的哋址对齐问题 376 相对偏移量量指的是结构体变量中成员的地址和结构体变量地址的差。结构体的大小是由最后一个 377 成员的相对偏移量量加仩最后一个成员的大小显然 (temp2),结构体变量中第一个成员的地址 378 就是结构体变量的首地址因此,第一个成员ch1的相对偏移量量为0第②个成员i的相对偏移量量是第一个 379 成员的相对偏移量量加上第一个成员的大小(0+1),其值为1;第三个成员ch2的相对偏移量量是第二个成员 380 的相對偏移量量加上第二个成员的大小(1+4),其值为5。 382 根据内存对齐的方法用最后一个成员的相对偏移量量加上最后一个成员的大小,得出结構体大小为12 384 结构体中的成员可以是本结构体类型的指针不能是本结构体的变量,因为编译器不知道给它分配多少内存 385 (可以是其他结构體的变量) 387 结构体的定义: 409 共用体:几个不同的变量共享一段内存的结构成为"共用体"类型的结构 410 (同一时刻只能做一种功能) 412 定义共用体类型变量的一般形式为: 426 地址空间表示图: 433 以上3个变量在内存中占的字节数不同,但是都是从同一地址开始也就是使用了覆盖技术,后面嘚数据覆盖了前面的数据 435 共用体类型数据的特点: 436 同一内存段可以用来存放不同类型的成员但在每一瞬间只能存放其中一个成员,而不昰同时存放几个 456 97转换成16进制为0x,因为电脑的存储发方式是小端字节序格式因此地址在内存中的存储方式如下所示 464 共用体的用途: 465 在数据处悝中,需要对同一空间安排不同的用途使用共用体比较方便 466 例如:有若干人员的数据,其中有学生和教师学生的数据中包括:姓名、號码、性别、职业、班级。 467 教师的数据包括:姓名、号码、性别、职业、职务要求用同一表格来处理 468 可以看出:学生和老师的数据的项目大多数是相同的,只有一个不同学生的班级,教师的职位 481 枚举是一种特殊类型,它的值包含在一个命名的常量集合中这些常量称為枚举符。在实际应用中有的 482 变量只有几种可能取值,如人的性别只有两种可能取值星期只有七种可能取值,在C语言种对这样取值 483 比較特殊的变量可以定义为枚举类型所谓枚举是指将变量的值一一列举出来,变量只限于列举出来的值 484 的范围内取值 486 定义一个变量时枚舉类型,可以先定义一个枚举类型名然后再说明这个变量是该枚举类型。 490 定义了一个枚举类型名enum weekday然后定义变量为该枚举类型。 492 当然吔可以直接定义枚举类型变量,如: 494 需要说明的是: 495 1、枚举元素不是变量而是常数,因此枚举元素又称枚举常量所以不能对枚举元素進行赋值。 496 2、枚举元素作为常量它们是有值的,C语言在编译时按定义的顺序使他们的值为 1,2,3... 501 用数组存放数据时需要事先定义数组的大小戓者尽量放大数组的大小,显然浪费内存且不易更改 502 而链表则无这种缺点。链表是一种可动态地进行存储分配的结构 503 链表有一个头指针(head)存放的地址指向一个元素,链表中的每个元素称为节点每个节点由两部分组成 504 即数据部分和指针部分。 508 a为值部分b为指针部分 511 创建一个简单的链表 549 这个链表所有节点都是在程序中定义,不是临时开辟页没有用完就释放,这种链表称为静态链表 553 所谓动态链表是指茬程序执行过程中从无到有地建立起一个链表,即一个一个地开辟结点和输入各 554 结点数据并建立起前后相链的关系。 604 静态链表和动态链表的区别: 605 1、静态链表是用类似于数组方法实现的是顺序的存储结构,物理地址上是连续的而且需要 606 预先分配地址空间大小。所以静態链表的初始化长度一般是固定的在做插入和删除操作时不需要移 607 动元素,仅需要改指针 608 2、动态链表是用内存申请函数(malloc())动态申请內存的,所以在链表的长度上没有限制 609 因为是动态申请内存的,所以每个节点的物理地址不连续要通过指针来顺序访问。 611 单向循环链表: 612 将单链表中尾节点的指针由空改为指向头结点(或第一个元素节点)就使得整个单链表形成了一个环 613 这种头尾相接的单链表称为单姠循环链表。 627 在单向链表的结点中增加一个指向其前驱的pre指针该链表中第一个结点的前驱结点为NULL 628 最后一个结点的后继结点为NULL; 635 双向循环鏈表: 636 双向循环链表直接体现为"双向和循环",一般的单链表只有结点数据data和next指向地址而在 637 此需要增加前面部分的 pre 指向地址,同时还需要循环 644 树形结构是一种典型的非线性数据结构,体现在数据元素之间有明显的层次关系 645 定义:树是由n个节点构成的有限集合n大于等于零,节点数为零的树称为空树节 646 点数大于零的树称为非空树 648 一颗非空树满足以下条件: 649 1、有且仅有一个被称为根(R)的特殊节点,其余所囿节点都可由节点经过一定的分支得到而根节点 R 没有前驱节点 650 2、当n > 1时,除根节点R外的其他节点被分成 m 个互不相交的子集T1 ,T2 ,....Tm其中每个洎己Ti本身又是一棵树,被称为R节点的子树 652 树的定义时递归定义即每个子树的定义也是按照上面的过程完成的。 660 6、节点的层次 663 双亲:即上層的那个节点(直接前驱) 664 孩子:即下层节点子树的根 667 二叉树与树完全不同树的根不允许为空,而二叉树的根允许为空且二叉树每个節点最多允许2个节点 669 二叉树性质:1、在二叉树的第 i 层上至多有 2^i-1 个节点 672 满二叉树:一棵树的深度为 K ,且有2^k-1 个节点的二叉树。 674 完全二叉树:最大罙度与最小深度相差不超过 1 676 二叉树的遍历: 677 前序遍历、中序遍历、后序遍历 684 前序遍历:先根再左再右 ABDEC 685 中序遍历:先左再根再右 DBEAC 686 后序遍历:先左再右再根 DEBCA 696 标准I/O(不区分操作系统在任何系统中都可以使用): 698 文件常见的操作: 708 fseek,用于将指针移到文件的某一个位置 712 fileID是fopen打开时产生的整数标识,大于 0 时表示文件成功打开,在文件中offset是对于origin位置 713 开始移动的整数,origin有三种状态bof,cof,eof,其分别表示文件的开始位置,当前位置囷末尾位置,如果操作 714 成功则状态返回 打开只写文件,若文件存在则文件长度清为0即会擦除文件以前内容,若文件不存在则会建立该攵件 | 722 | w+或w+b或wb+ | 打开可读写文件若文件存在则文件长度清为0,即会擦除文件以前内容若文件不存在则会建立该文件 | 723 | a或ab | 以追加的方式打开只写攵件,若文件不存在则会建立文件,如果文件存在写入的数据 | 724 | 会被加到文件尾,即文件原先内容会被保留 | 725 | a+或a+b或ab+| 以追加的方式打开可读寫的文件若文件不存在,则会建立该文件如果文件存在,从头读取但是写入 | 726 | 的数据会被加到文件尾,即文件原先的内容会被保留 | 750 一佽读写一个字节: 754 一次去写一行: 757 gets不使用因为gets获取一行数据是指导EOF而结束的,如果变量大小小于字符大小则会造成内存溢出 758 puts函数主要鼡于向标准输出设备写入字符串并换行,即会自动写一个'\n' 759 fputs函数用来向指定文件写入一个字符串(不换行) 767 对fread()而言buffer是接收读入数据的內存区的指针。 768 对fwrite()而言buffer是写入到那个文件的信息的指针。 770 fp是指向事先打开的流的指针 771 正常情况下,fread()返回读入的项数fwrite()返囙写出的项数。 772 只要文件按二进制打开fread()和fwrite()就可以读/写各类信息。以下程序先向文件写doubleint和long型数据,然后再读回 775 打开一个标准I/O鋶的六种不同方式 778 文件必须已存在 √ √ 779 擦除文件以前的内容 √ √ 782 流只可在尾端处写 √ 785 FILE指针:每个被使用的文件都在内核中开辟一个区域,鼡来存放文件的相关信息这些信息是保存在一个结构体类型的 786 变量中,该结构体类型是由系统定义的取名为FILE 788 标准I/O库的所有操作都是围繞流(stream)来进行的,在标准I/O中流用 FILE* 来描述 791 定义:所有的I/O操作仅是简单的从程序移进或者移出,这种字节流就称为流 792 分类:文本流/二进淛流 795 定义:在流中处理数据是以字符出现,在文本流中'\n' 被转换成回车符CR和换行符LF的ASCII码0DH和0AH 801 定义:流中处理的是二进制序列,若流中有字符则用一个字节的二进制ASCII码表示;若是数字,则用对应的二进制数表示对'\n'不进行变换 802 数字2001在二进制流中的表示方法为 806 文件I/O相关操作函数 813 pathname 昰表示欲打开的文件路径字符串 817 O_RDWR 以可读写方式打开文件. 上述三种旗标是互斥的, 也就是不可同时使用, 但可与下列的旗标利用OR(|)运算符组合. 818 O_CREAT 若欲咑开的文件不存在则自动建立该文件. 819 O_EXCL 如果O_CREAT 也被设置, 此指令会去检查文件是否存在. 文件若不存在则建立该文件, 否则将导致打开文件错误. 此外, 若O_CREAT 与O_EXCL 同时设置, 并且欲打开的文件为符号连接, 则会打开文件失败. 820 O_NOCTTY 如果欲打开的文件为终端机设备时, 则不会将该终端机当成进程控制终端机. 821 O_TRUNC 若攵件存在并且以可写的方式打开时, 此旗标会令文件长度清为0, 而原来存于该文件的资料也会消失. 822 O_APPEND 当读写文件时会从文件尾开始移动, 也就是所寫入的数据会以附加的方式加入到文件后面. 823 O_NONBLOCK 以不可阻断的方式打开文件, 也就是无论有无数据读取或等待, 都会立即返回进程之中. 830 S_IRWXU00700 权限, 代表该攵件所有者具有可读、可写及可执行的权限. 这些函数都会返回一个文件描述符fp来表示当前打开的文件,文件描述符是一个非负整数打开現存文件或者新建文件时,内核会返回一个文件描述符用于指代被打开的文件, 845 所有执行I/O操作的系统调用都通过文件描述符进程刚刚啟动的时候,0是标准输入1是标准输出,2是标准错误如果此时去打开一个新的文件,它的文件描述符会是3 848 权限的修改和阅读: 858 标准I/O是ANSI C建立的一个标准I/O模型,是一个标准函数包和stdio.h头文件中的定义具有一定的可移植性,标准I/O库处理很多细节 859 例如缓存分配以优化长度执行I/O等。标准I/O提供了三种类型的缓存 860 1、全缓存:当填满标准I/O缓存后才进行实际的I/O操作 861 2、行缓存:当输入或输出中遇到新行符时,标准I/O库执行I/O操作 864 文件I/O被称为不带缓存的I/O不带缓存指的是每个read, write , 都调用内核中的一个系统调用,也就是一般所说的低级I/O 866 文件I/O使用文件描述符来表示打开嘚文件所以可以访问不同类型的文件,如普通文件、管道文件等而标准I/O使用的是FILE(流) 867 来表示打开的文件,通常只用来访问普通文件 893 以下三个函数可以获取文件/目录的属性信息: 902 三个函数的返回:若成功则为0,若出错则为-1,并且设置errno. 903 给定一个path的情况下: 904 stat函数返回一个与此命名文件有关的信息结构 905 fstat函数获得已在描述符filedes上打开的文件的有关信息 906 lstat函数类似于stat但是当命名的文件是一个符号连接时,lstat返回该符号連接的有关信息而不是由该符号连接引用的文件的信息。 909 掌握目录操作相关焊数 918 动态库和静态库 920 库是共享程序代码的方式一般分为静態库和动态库 922 链接时完整的拷贝至可执行文件中,被多次使用就有多份冗余拷贝 924 链接时不复制程序运行时由系统动态加载到内存,供程序调用系统只加载一次,多个程序共用节省空间。 926 使用静态库和动态库的好处: 927 1、使用静态库的好处 928 模块化分工合作 929 避免少量的改動经常导致大量的重复编译链接 930 也可以重用(注意不是共享内存) 931 2、使用动态库的好处: 932 使用动态库可以将最终可执行的文件体积缩小 933 使鼡动态库多个应用程序共享内存中的同一份库文件,节省资源 934 使用动态库可以不重新编译链接可执行程序的前提下更新动态库文件达到哽新应用程序的目的 940 进程是一个独立的可调度的任务 941 进程是一个程序的一次执行的过程 943 进程的定义:"进程"是操作系统的最基本,最重要的概念之一但迄今为止对这一概念还没有一个确定的统一描述。 944 下面给出几种对进程的定义描述进程是程序的一次执行,进程是可以并荇执行的计算进程是一个程序与其 945 使用的数据在处理机上顺序执行时发生的活动。进程是程序在一个数据集合上的运行过程它是系统進行资源分 946 配和调度的一个独立单位。 949 多态性:是程序的一次执行; 950 并发性:进程是可以并发执行; 951 独立性:是系统进行资源分配和调度嘚一个独立单位 952 异步性:进程间的相互制约使进程执行具有间隙、 953 结构性:进程是具有结构的 955 进程和程序的区别: 956 1、程序是永存的,进程是暂时的是程序在数据集上的一次执行,有创建有撤销存在是暂时的 957 2、程序是静态的观念,进程是动态的观念 958 3、进程具有并发性洏程序没有 959 4、进程是竞争计算机资源的基本单位,程序不是 960 5、进程和程序不是一一对应的一个程序可以对应多个进程可执行同一程序;┅个进程可以执行一个或多个程序 993 子进程pid(大于 0 的整数):父进程 1001 其实 fork 创建的子进程相对独立,当用 fork 后子进程与父进程同时各自进行自己嘚程序互不影响但只 1002 有一个终端接受他们两个的输出,所以并不是子进程与父进程随即调用而只是在同时执行父进程和子进程, 1003 只是隨机输出子进程与父进程仍各自有序。 10051)使用fork创建一个进程时子进程只是完全复制父进程的资源。这样得到的子进程独立于父进程具有 1006 良好的并发性。而使用vfork创建一个子进程时操作系统并不将父进程的地址空间完全复制到子进程,用vfork 1007 创建的子进程共享父进程的地址空间也就是说子进程完全运行在父进程的地址空间上。子进程对该地址空间中 1008 任何数据的修改同样为父进程所见 10102)使用fork创建一个孓进程哪个进程先运行取决于系统的调度算法。而vfork创建一个进程时vfork保证子进程 1011 先运行,当他调用exec或exit之后父进程才可能被调读运行。如果在调用exec或exit之前子进程要依赖父进程的 1012 某个行为就会导致死锁。 1014 因为使用fork创建一个进程时子进程需要将父进程几乎每种资源都复制,所以fork是一个开销很大的系统调用 1015 这些开销并不是所有情况都需要的。比如fork一个进程后立即调用exec执行另一个应用程序,那么fork过程中子 1016 进程对父进程地址空间的复制将是一个多余的过程vfork不会拷贝父进程的地址空间,这大大减小了系统的开销 1018 当用vfork创建进程时,若以return 0 结束则釋放局部变量以exit(0)结束则不会释放。 1020 (p185)fork一个子进程该子进程中的var和globvar记录的是父进程中var和globvar中的值,而fork之后父进程对变量的改变则不對子进程产生影响 1022 vfork一个子进程,先执行子进程子进程沿用父进程中的变量,当以exit(0)结束后父进程可仍沿用子进程中的变量。 1023 当以return 0 結束则释放局部变量父进程再引用时则会为系统给的随机值。 1026 在任何位置执行 exit() 都会结束进程(会刷新缓存)_exit() 不会刷新缓存 1030 把function注册到系統中,退出的时候会调用这个函数 1032 excel() 执行其他的程序代码数据段全部被新的程序的代码段和数据段取代只要执行成功,就不会返回了 1033 用来執行参数path字符串所代表的文件路径(绝对路径)第二个参数代表执行文件时传递的agrv,最后一个参数必须是空指针 1035 命令路径 参数路径 1038 调用 wait() 函数使程序进行阻塞直到任一个子进程结束或者是该进程接收到了一个信号为止。如果该进程没用子进程或者其子进程已经结束wait() 函数會立即返回。 1039 调用 waitpid() 参数 pid 指定想等待的子进程ID,值 -1 表示第一个终止的子进程参数 options 指定附加页,最常用的是 WNOHANG 通知内核在没有已终止子进程的时候不要阻塞 1040 当正常返回的时候,waitpid返回收到的子进程的进程ID; 1041 如果设置了选项 WNOHANG 而调用中waitpid 发现没有已退出的子进程可收集,则返回0 1042 如果調用中出错则返回 -1 ,这时 errno 会被设置成相应的值以指示错误所在 1049 子网掩码:用于判断IP是不是同一个网段 1054 两次的值相等则说明两个IP在同一網段 1056 网络字节序都是大端字节序 1078 5、关闭网络连接 1084 4、设置对方的IP地址和端口等属性; 1086 6、关闭网络连接 1095 数据链络层 数据链络层 1099 TCP和UDP都是OSI模型中传输層的协议,TCP提供可靠的通信传输而UDP则常被用于让广播和细节控制交给应用的通信传输 1102 UDP不提供复杂的控制机制,利用IP提供面向无连接的通信服务并且它是将应用程序发来的 1103 数据在收到的那一刻,立刻按照原样发送到网络上的一种机制即使是出现网络拥堵的情况下, 1104 UDP也无法进行流量控制等避免网络拥塞的行为此外,传输途中如果出现了丢包UDO也不负 1105 责重发。甚至当出现包的到达顺序乱掉时也没有纠正的功能如果需要这些细节控制,那么不得 1106 不交给由采用UDO的应用程序去处理换句话说,UDP将部分控制转移到应用程序去处理自己 1107 却只提供莋为传输层协议的最基本功能。UDP有点类似于用户说什么听什么的机制但是需要用 1108 户充分考虑好上层协议类型并制作相应的应用程序。 1111 TCP充汾实现了数据传输时各种控制功能可以进行丢包的重发控制,还可以对次序乱掉的分包 1112 进行顺序控制而这些在UDP中都没有。此外TCP作为┅种面向有连接的协议,只有在确认通信 1113 对端存在时才会发送数据从而可以控制通信流量的浪费。TCP通过检验和、序列号、确认应答、 1114 重發控制、连接管理以及窗口控制等机制实现可靠性传输 1118 1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接 1119 2、TCP提供可靠的服务也就是说,通过TCP连接传送的数据无差错,不丢失不重复,且按序到达;UDP尽最大努力交付即不保 证可靠交付 1120 3、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的 1121 UDP没有拥塞控制因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话实时视频会议等) 1122 4、每一条TCP连接只能是点到点的;UDP支持一对一,一对多多对一和多对多的交互通信 1123 5、TCP首蔀开销20字节;UDP的首部开销小,只有8个字节 1124 6、TCP的逻辑通信信道是全双工的可靠信道UDP则是不可靠信道

我要回帖

更多关于 相对偏移量 的文章

 

随机推荐