现在位置: 首页 > 编程语言 > 文章
2019年03月28日 编程语言 ⁄ 共 20592字 评论关闭
P2P之UDP穿透NAT的原理与实现(附源代码) 作者:shootingstars | 日期:2004-05-25 | 字体:大 中 小 P2P 之 UDP穿透NAT的原理与实现(附源代码)原创:shootingstars参考:http://midcom-p2p.sourceforge.net/draft-ford-midcom-p2p-01.txt   论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码)。呵呵,在这里我就用自己实现的一个源代码来说明UDP穿越NAT的原理。 首先先介绍一些基...
阅读全文
2019年03月27日 编程语言 ⁄ 共 1319字 评论关闭
在C语言的函数定义上,我们通常都是用的函数定义方式为ANSI-C的函数定义方式。但是在C语言之父创立C语言之时,函数的定义形式并非现在我们所见到的形式。下面的代码显示了这样的差别,注意观察二者在声明与函数体签名上的差别。   #include <stdio.h> #include <stdlib.h> /*K&R Standard==============start===================*/ const char* originalFunc(); /*K&R Standard---------------end--------...
阅读全文
2019年03月26日 编程语言 ⁄ 共 1508字 评论关闭
http://blog.sina.com.cn/s/blog_60e5783601017vbt.html 第一课 时钟频率     STM32F103内部8M的内部震荡,经过倍频后最高可以达到72M。目前TI的M3系列芯片最高频率可以达到80M。     在stm32固件库3.0中对时钟频率的选择进行了大大的简化,原先的一大堆操作都在后台进行。 系统给出的函数为SystemInit()。但在调用前还需要进行一些宏定义的设置,具体的设置在system_stm32f10x.c文件中。 文件开头就有一个这样的定义:  ...
阅读全文
2019年03月25日 编程语言 ⁄ 共 1002字 评论关闭
转自 独枕寒流     向量容器(vector)是一种顺序容器,是一块连续分配的内存,支持随机访问,从数据安排的角度看,和数组极其相似,数组跟vector的区别在于:数组是静态分配空间,一旦分配了空间的大小,就不可以再改变了,例如,int a[6];而vector是动态分配内存,随着元素的不断插入,它会按照自身的一套机制不断扩充自身的容量,vector容器的容量增长是按照容器现在容量的一倍进行增长。   begin函数: 函数原型: itera...
阅读全文
2019年03月23日 编程语言 ⁄ 共 1610字 评论关闭
http://www.vaikan.com/things-everyone-should-do-code-review/ 从代码审查里能得到什么? 很显然:在代码提交前,用第二群眼睛检查一遍,防止bug混入。这是对其最常见的理解,是对代码审查的好处的最广泛的认识。但是,依我的经验来看,这反倒是它最不重要的一点。人们确实在代码审查中找到了bug。可是,这些在代码审查中能发现的绝大部分bug,很显然,都是微不足道的bug,程序的作者花几分钟的时间就能发现它们。真正需...
阅读全文
2019年03月23日 编程语言 ⁄ 共 2445字 评论关闭
http://blog.csdn.net/h32dong809/article/details/7082511 ysmz4:以下主要解决我为什么设置OSTimeDly(2),延时2ms的问题。 只要你延时超过1个系统时钟节拍(1ms),UCOSII就会执行任务切换,不需要计算每个任务延时多久,只要你保证延时大于一个系统时钟节拍,就可以了.    编写过单片机程序的都知道,延时函数是经常被用到的。    在ucos II 里,系统也提供了这样的延时函数。一个是大众版的OSTimeDly(),一个是精致版的...
阅读全文
2019年03月23日 编程语言 ⁄ 共 1993字 评论关闭
http://www.amobbs.com/forum.php?mod=viewthread&tid=5043342&highlight=pid++ 小明接到这样一个任务:有一个水缸点漏水(而且漏水的速度还不一定固定不变),要求水面高度维持在某个位置,一旦发现水面高度低于要求位置,就要往水缸里加水。 小明接到任务后就一直守在水缸旁边,时间长就觉得无聊,就跑到房里看小说了,每30分钟来检查一次水面高度。水漏得太快,每次小明来检查时,水都快漏完了,离要求的高度相差很...
阅读全文
2019年03月22日 编程语言 ⁄ 共 2861字 评论关闭
无论是单元测试、API测试还是功能性测试,最终都是调用了产品的代码;如何评价这些测试的效率,是否真正全部或者大部分覆盖了产品的代码,这个时候,代码覆盖率(code coverage)就是一个比较有价值的参考指标了。 通常,代码覆盖率用在如下几个方面 找出程序中没有被测试代码执行到的地方; 增加新的测试代码,以提高代码覆盖率; 分析测试代码的效率,以便设计出更有效的测试代码或测试用例 代码覆盖率常用的指标 语句覆...
阅读全文
2019年03月21日 编程语言 ⁄ 共 1724字 评论关闭
DDR Stress Test Tool 提供了两种用途。首先,它可以用来对校准DDR3,以便于MMDC PHY delay settings和PCB配对,来达到最佳的DRAM新能。整个过程是全自动的,因此客户可以在较短的时间内让他们的DDR3工作起来。 另外,该工具可以运行内存压力测试,用来验证DDR3的功能和可靠性。压力测试可以用来验证硬件连接、MMDC寄存器参数和DDR3模式寄存器设置。测试最重要的目的是让客户验证DDR3在他们的自己的板子上运行稳定。 Cali...
阅读全文
2019年03月20日 编程语言 ⁄ 共 1366字 评论关闭
文章目录 预备知识 程序清单1 预备知识 用一个例子来说明虚析函数的必要性.在程序清单1中,基类A的构造函数动态分配5个字节,其析构函数负责释放这块内存.派生类Z的构造函数动态分配5000个字节,其析构函数负责释放这块内存. 程序清单1 #include <iostream> using namespace std; class A{ // base class public: A(){ cout<<"A() firing"<<end...
阅读全文