01 2013 档案

摘要:我想用UDP阻塞模式给硬件设备发包,然后收包。因为网络的问题,经常丢包,也就是发了之后没有响应。这样的话,recvfrom会一直停在那里,死机了一样。//连接超时 //-------------------------------------------------------------------------- //设置为非阻塞方式连接 unsigned long ul = 1; int ret = ioctlsocket(m_sSocket, FIONBIO, (unsigned long*)&ul); if(ret == SOCKET_ERROR) { err = WSAGet 阅读全文
posted @ 2013-01-28 15:50 zwhxz 阅读(2504) 评论(0) 推荐(0) 编辑
摘要:程序员每天该做的事1、总结自己一天任务的完成情况最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多2、考虑自己明天应该做的主要工作把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作3、考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法出错不要紧,最重要的是不要重复犯相同的错误,那是愚蠢4、考虑自己一天工作完成的质量和效率能否还能提高一天只提高1%,365天你的效率就能提高多少倍你知道吗? (1+0.01)^365 = 37 倍5、看一个有用的新闻网站或读一张有用的报纸,了解业界动态闭门造车是不行的,了解一下 阅读全文
posted @ 2013-01-10 15:16 zwhxz 阅读(389) 评论(0) 推荐(0) 编辑
摘要:使用sizeof的结果部分地依赖所涉及的类型:对char类型或值为char 类型的表达式做sizeof操作保证得到1对引用类型做sizeof操作将返回存放此引用类型对象所需要的内存空间的大小。也就是被引用的对象占用对少内存,引用就占用多少内存对指针做sizeof操作将返回存放指针所需要的内存大小,如果需要获取该指针所指向的对象的大小,则必须对该指针进行解引用。对数组做sizeof操作等效于将对其元素类型做sizeof操作的结果乘上数组的元素个数。sizeof(string)总是返回为4.string的实现在各库中可能有所不同,但是在同一库中相同一点是,无论你的string里放多长的字符串,它的 阅读全文
posted @ 2013-01-10 11:03 zwhxz 阅读(136) 评论(0) 推荐(0) 编辑
摘要:在c++ primer书上看到标题为“含有可变形参的函数”的章节,内容如下:省略符形参有下列两种形式:void foo ( parm_list , ...);void foo ( ... );第一种形式为特定数目的形参提供了声明。在这种情况下,当函数被调用时,对于与显示声明的形参相对应的实参进行类型检查,而对于与省略符对应的实参则暂停类型检查。在第一钟形式中,形参声明后面的逗号是可选的。答:你可以传递任意数量的参数给他,所以当然跟没有参数的函数有区别了(没有参数的函数,你是不可以给他传递任何参数的)。楼主提醒一点:省略号的优先级别最低,所以在函数解析时,只有当其它所有的函数都无法调用时,编译器 阅读全文
posted @ 2013-01-10 10:25 zwhxz 阅读(1795) 评论(0) 推荐(0) 编辑
摘要:1、使用引用实参,函数可以直接访问实参对象,而无需复制2、使用引用避免复制实参, 使用const引用来避免函数通过引用来修改实参3、任何非引用形参,都只是复制实参值,包括指针在内。4、注意引用和指针的区别,使用引用形参更安全、自然。5、通常函数不应该有vector类容器的形参,调用含有非引用类型的容器形参将导致其复制容器的每一个元素。6、‘=’操作符返回左操作数的类型,eg:a=3 返回3.7、在c++中用class和struct关键字定义类的唯一差别在于默认访问级别:默认情况下,struct的成员是public的,但是class的成员是private的 阅读全文
posted @ 2013-01-05 17:35 zwhxz 阅读(159) 评论(0) 推荐(0) 编辑
摘要:先介绍几个编译器内置的宏定义,这些宏定义不仅可以帮助我们完成跨平台的源码编写,灵活使用也可以巧妙地帮我们输出非常有用的调试信息。ANSI C标准中有几个标准预定义宏(也是常用的):__LINE__:在源代码中插入当前源代码行号;__FILE__:在源文件中插入当前源文件名;__DATE__:在源文件中插入当前的编译日期__TIME__:在源文件中插入当前编译时间;__STDC__:当要求程序严格遵循ANSI C标准时该标识被赋值为1;__cplusplus:当编写C++程序时该标识符被定义。编译器在进行源码编译的时候,会自动将这些宏替换为相应内容。比如,定义一个宏开关:#define __DE 阅读全文
posted @ 2013-01-04 16:24 zwhxz 阅读(203) 评论(0) 推荐(0) 编辑