选择特殊符号
选择搜索类型
请输入搜索
计数是一个重复加(或减)1的数学行为,通常用于算出对象有多少个或放置想要之数目个对象(对第一个对象从一算起且将剩下的对象和由二开始的自然数做一对一对应)。此外,计数亦可以被(主要是被儿童)使用来学习数字名称和数字系统的知识。 由现今的考古证据可以推测人类计数的历史至少有五万年,并由此发展导致出数学符号及记数系统的发展。古代文化主要使用计数在记录如负债和资本等经济数据(即会计)。
类似于科学计数法,只不过指数的幂都是3的倍数,这样方便工程上的应用,因为在很多单位转换的时候都是10^3
一个邮箱,我给你的图片里面不起来 2010年,东城区,模具体检,多项选择题 1.在图1中所示的四种方法,在符合安全使用电力 2的原则.图2中,增加了受力面积减小压力实例 3.该加热器是当前的演技的使用...
水泥计数器、袋装计数器
水泥计数器 产品简介: 专用于水泥厂,不怕粉尘,解决连包、叠包。支持 MODBUS 协议 .产品编号: ZT-JS01A-A 专用于水泥厂,不怕粉尘,解决连包、叠包。支持 MODBUS 协议 .产品编号: ZT-JS01A-A 中泰华旭生产的水泥计数器,专用于水泥厂的一款智能型计数器,能够在水泥厂多粉尘的环境下正常工 作。已成功应用于海螺水泥、华润水泥、福建水泥、金顶水泥、冀东水泥等多家水泥厂家。 化工厂专用计数器 产品简介: 专用于化工厂的智能计数器,解决连包、叠包 . 支持 MODBUS 协议 . 产品编号: ZT-JS01A-B 中泰华旭生产的化工专用计数器,专用于化工厂的一款智能型计数器,能够在化工厂多粉尘的环境 下正常工作。已成功应用于河南中源大化、中海油海南东方大化、山西晋丰煤化工、江苏灵谷化工等多 家厂家。 化工专用计数器独有的特点: 独有的光电传感器防粉尘专利技术,真
GM计数管以及基于LED单光子计数器的特性研究
GM计数管以及基于LED单光子计数器的特性研究
具有记忆输入脉冲个数作用的逻辑部件,称之为计数器。计数器的种类很多,按进位制可分为二进制、十进制、五进制、七进制等计数器;按计数器中触发器翻转的次序可分为异步式和同步式两种;按计数过程中数字的增、减可分为加法、减法、加减可逆计数器等。
在数字系统中,对脉冲的个数进行计数、以实现数字测量、运算和控制的数字部件,称为计数器。
计数器主要由触发器构成。若按触发器的翻转的次序来分类,可以把计数器分为同步式和异步式。在同步计数器中,当计数脉冲输入时所有触发器是同时翻转的;而在异步计数器中,各级触发器则不是同时翻转的。若按计数过程中计数器中数字的增减来分类,可以分为加法计数器,减法计数器和可逆计数器(亦称加减计数器)。加法计数器是随着计数脉冲的不断输入而递增计数的;减法计数器是随着计数脉冲的不断输入而递减计数的;可增可减的称可逆计数器 。
计数器是一种逻辑元件,在一事件发出时,可使所存储数据增加“1”或一个常数。从某种意义上说,计数器也是一个寄存器,它能“记住”送到其输入端的脉冲数目。计数器对计算机来说是很重要的,例如在控制器中要对程序中的指令地址进行计数,以便在执行完一条指令后,按新的地址转入下一条指令。计数器由一定数量的触发器和门电路组成,现在一般都采用集成电路 。
为什么要选择为每一个接口单独维护一个引用计数而不是针对整个组件维护引用计数呢?
主要有两个原因:一是使程序调试更为方便;另外一个原因是支持资源的按需获取。
1程序调试:
假设在程序中忘记对某个接口调用Release(其实很多人会犯这个错)。这样组件将永远不会被删除掉,因为只是在引用计数值0时delete才会被调用 。这时就需要找出接口在何时何处应该被释放掉。当然找起来是相当困难的。在只对整个组件维护一个接口的情况下,进行这种 查找更为因难了。此时必须检查使用了此组件所提供的所有接口的代码。但若组件支持对每个接口分别维护一个引用计数那么可以把查找的范围限制在某个特定的接口上。在某些情况下这可以节省大量时间。
2.资源的按需获取
在实现某个接口时可能需要大量的内存或其他资源。对于此种情况,可以在QueryInterface的实现中,在客户请求此接口时完成资源的分配。但若只对整个组件维护一个引用计数,组件将无法决定何时可以安全地将此些接口相关联的内存释放。但基对每个接口分别维护一个引用计数,那么决定何时可以将此内存释放将会容易得多。
正确使用引用计数三条简单的规则
1. 在返回之前调用AddRef。对于那些建好些返回接口指针的函数,在返回之前应该相应的指针调用AddRef。这些函数包括QueryInterface 及CreateInstance。这样当客户从这种 函数得到一个接口后。它将无需调用AddRef.
2.使用完接口之后调用Release。在使用某个接口之后应该调用些接口的Release函数。
3.在赋值之后调用AddRef. 在将一个接口指针赋给另一个接口指针时,应调用AddRef。换句话说,在建立接口的别外一个引用之后应增加相应组件的引用计数。
在客户看来,引用计数是处于接口级的而不是组件级的。但从实现的角度来看,谁的引用计数被记录下来实际上没有关系。客户可以一直接相信组件将记录每个接口本身维护引用计数值。但客户不能假设整个组件维护单个的引用计数。
对于客户而言,每一个接口被分别维护一个引用计数意味着客户应该对它将要使用的指针调用AddRef,而不是其他的什么指针。对于使用完了指针客户应该调用其Release。
选择为每一个接口单独维护一个引用计数而不是针对整个组件维护引用计数的原因:
使程序调试更为方便;支持资源的按需获取;
可以通过增大和减少某个数的值而实现之。
另外要注意的是AddRef和Release的返回值没有什么意义,只是在程序调试中才可能会用得上.客户不应将此从此值当成是组件或其接口的精确引用数。
客户必须对每一个接口具有一个单独的引用计数值那样来处理各接口。因此,客户必须对不同的接口分别进行引用计数,即使它们的生命期是嵌套的。
一、输出参数规则
输出参数指的是给函数的调用者传回一个值的函数参数。从这一点上讲,输出参数的作用同函数的返回值是类似的。任何在输出参数中或作为返回值返回一个新的接口指针的函数必须对些接口指针调用AddRer。
二、输入参数规则
对传入函数的接口指针,无需调用AddRef和Release,这是因为函数的生命期嵌套在调用者的生命期内。
三、输入-输出参数规则
输入-输出参数同时具有输入参数及输出参数的功能。在函数休中可以使用输入-输出参数的值,然后可以对这些值进行修改并将其返回给调用者。
在函数中,对于用输入-输出参数传递进来的接口指针,必须在给它赋另外一个接口指针值之前调用其Release。在函数返回之前,还必须对输出参数中所保存的接口指针调用AddRef。
四、局部变量规则
对于局部自制的接口指针,由于它们只是在函数的生命其内才存在,因此无需调用AddRef和Release。这条规则实际是输入参数规则的直接结果。在下面的例子中,pIX2只是在函数foo的生命期内都在,因此可以保证其生命期将嵌套在所传入的pIX指针的生命期,因此无需对pIX2调用AddRef和Release。
五、全局变量规则
对于保存在全局变量中的接口指针,在将其传递给另外一个函数之前,必须调用其AddRef。由于此变量是全局性的,因此任何函数都可以通过调用其Release来终止其生命期。对于保存在成员变量中的接口指针,也应按此种方式进行处理。因为类中的任何成员函数都可以改变此种接口指针的状态。
六、不能确定时的规则
对于任何不定的情形,都应调用AddRef和Release对。
另外,在决定要进行优化时,应给那些没有进行引用计数的指针加上相应的注释,否则其它程序员在修改代码时,将可能会增大接口指针的生命期,从而合引用计数的优化遭到破坏。
忘记调用Release造成的错误可能比不调用AddRef造成的错误更难检测。
μC/TCP-IP在运行过程中维护着一组计数器,用于追踪网络协议栈的各种错误态。如果需要的话,应用程序可以通过检查错误计数器来调试运行当中的问题,包括内存剩余空间较低、性能差或数据包丢失等等。
网络协议的错误计数器被放在一个命名为Net_ ErrCtrs的结构体变量中,可以利用调试器或应用程序(以外部变量的形式引用)在运行时检测该变量。
要使能这些错误统计,必须将net_cfg.h中的 NET_CTR_CFG_ERR_EN配置为DEF_ENABLED。