01 2008 档案
摘要: 处理在程序的运行时刻发生的错误,对于任何一个程序设计者来讲都是不陌生的。对于错误的处理,我们有很多方法,本篇着重介绍的是C++中的错误异常处理。
阅读全文
摘要: 论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码)。呵呵,在这里我就用自己实现的一个源代码来说明UDP穿越NAT的原理。
阅读全文
摘要: 该文重点讲述了Windows处理事件、消息的具体过程和步骤。尤其是在系系处理鼠标键盘事件的过程上做了详解。通过这篇文章,你将对Windows的消息处理机制有一个较全面的了解。
阅读全文
摘要: FAX/MODEM首先用于传真业务,近几年发展极为迅速,取得了极大成功。随着技术的发展和人们认识的提高,人们拓宽了FAX/MODEM的功能,把它用于广域网络通信中,FAX/MODEM能从微机接受串行数据,直接传给另一端的FAX机或另一台FAX/MODEM,所以使用微机通过程控电话网和FAX/MODEM互联起来可以组成一个广域网络系统,当两台微机拨号联上后,它们就独占了一条电话线路,它们之间就像本地通信一样(光电传输速度108米/秒)方便[1]。
阅读全文
摘要: 首先看一下sizeof在msdn上的定义:
The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a value of type size_t.
看到return这个字眼,是不是想到了函数?错了,sizeof不是一个函数,你见过给一个函数传参数,而不加括号的吗?sizeof可以,所以sizeof不是函数。网上有人说sizeof是一元操作符,但是我并不这么认为,因为sizeof更像一个特殊的宏,它是在编译阶段求值的。
阅读全文
摘要: sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。
阅读全文
摘要: sizeof()功能:计算数据空间的字节数
阅读全文
摘要: 分别有如下功能:可打印字符串转换为字节数据。字节数据转换为可打印字符串。7bit编码。7bit解码。8bit编码。8bit解码。UCS2编码。UCS2解码。正常顺序的字符串转换为两两颠倒的字符串,若长度为奇数,补'F'凑成偶数。两两颠倒的字符串转换为正常顺序的字符串。PDU编码,用于编制、发送短消息。PDU解码,用于接收、阅读短消息。 初始化GSM状态。 发送短消息,仅发送命令,不读取应答。 读取短消息,仅发送命令,不读取应答。读取GSM MODEM的应答,可能是一部分。从列表中解析出全部短消息。
阅读全文
摘要: Socket有同步阻塞方式和异步非阻塞方式两种使用,事实上同步和异步在我们编程的生涯中可能遇到了很多,而Socket也没什么特别。虽然同步好用,不费劲,但不能满足一些应用场合,其效率也很低。
也许初涉编程的人不能理解“同步(或阻塞)”和“异步(或非阻塞)”,其实简单两句话就能讲清楚,同步和异步往往都是针对一个函数来说的,“同步”就是函数直到其要执行的功能全部完成时才返回,而“异步”则是,函数仅仅做一些简单的工作,然后马上返回,而它所要实现的功能留给别的线程或者函数去完成。
阅读全文
摘要: 利用Visual C++在windows环境下设计异步串行通信程序可以使用不同的方法。一种方法可以使用windows系统提供的串行口API函数;另一种方法可以直接使用Microsoft公司提供的ActiveX控件MSCOMM.OCX。利用MSCOMM.OCX控件进行串行口程序设计相对比较简单,只要对该控件的属性、事件和方法进行设置和操作,就能完成简单的串行通信功能。而直接使用windows系统提供的串行口API函数则相对较为灵活。试验中,可根据自己的情况任意其中一种进行编程。以下针对如何使用windows系统提供的串行口API函数进行编程做简要介绍
阅读全文
摘要: Windows是一个多任务操作系统。传统的Windows 3.x只能依靠应用程序之间的协同来实现协同式多任务,而Windows 95/NT实行的是抢先式多任务。
在Win 32(95/NT)中,每一个进程可以同时执行多个线程,这意味着一个程序可以同时完成多个任务。对于象通信程序这样既要进行耗时的工作,又要保持对用户输入响应的应用来说,使用多线程是最佳选择。当进程使用多个线程时,需要采取适当的措施来保持线程间的同步。
利用Win 32的重叠I/O操作和多线程特性,程序员可以编写出高效的通信程序。在这一讲的最后将通过一个简单的串行通信程序,向读者演示多线程和重叠I/O的编程技术。
阅读全文
摘要: Overlapped I/O也称Asynchronous I/O,异步I/O模型。异步I/O和同步I/O不同,同步I/O时,程序被挂起,一直到I/O处理完,程序才能获得控制。异步I/O,调用一个函数告诉 OS,进行I/O操作,不等I/O结束就立即返回,继续程序执行,操作系统完成I/O之后,通知消息给你。Overlapped I/O只是一种模型,它可以由内核对象(hand),事件内核对象(hEvent), 异步过程调用(apcs) 和完成端口(I/O completion)实现。
阅读全文
摘要: OVERLAPPED,顾名思义为重叠,乍一看会很奇怪,重叠?谁跟谁重叠?似乎在WIN32的Programming中没有这个概念呀?要讨论这个问题就要追溯到对设备I/O的访问中
阅读全文
摘要: Windows Sockets在头文件winsock.h中定义了所有的错误码,它们包括以“WSA”打头的Windows Sockets实现返回的错误码和Berkeley Sockets定义的错误码全集。定义Berkeley Sockets错误码是为了确保原有软件的可移植性。
阅读全文