摘要: Thread NetServer = new Thread(new ThreadStart(NetServerThreadFunc)); NetServer.Start(); WPF工程里,此线程不可以操作UI元素,避免方法如下:1、public delegate void DeleFunc(); public void Func() { //使用ui元素 } 线程函数中做如此调用: System.Windows.Application.Current.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, n 阅读全文
posted @ 2011-04-15 16:30 山河 阅读(1437) 评论(0) 推荐(0) 编辑
摘要: 1.概论 运行时库是程序在运行时所需要的库文件,通常运行时库是以LIB或DLL形式提供的。C运行时库诞生于20世纪70年代,当时的程序世界还很单纯,应用程序都是单线程的,多任务或多线程机制在此时还属于新观念。所以这个时期的C运行时库都是单线程的。 随着操作系统多线程技术的发展,最初的C运行时库无法满足程序的需求,出现了严重的问题。C运行时库使用了多个全局变量(例如errno)和静态变量,这可能在多线程程序中引起冲突。假设两个线程都同时设置errno,其结果是后设置的errno会将先前的覆盖,用户得不到正确的错误信息。 因此,Visual C++提供了两种版本的C运行时库。一个版本供单线程应用程 阅读全文
posted @ 2011-04-15 16:29 山河 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 一、 软件执行流程1、 软件编译流程Ø 预编译完成宏展开工作。Ø 为每一个.cxx源文件编译一个目标文件(.obj,.o),目标文件中至少包含二进制的代码段和数据段。在cxx源文件中可能会引用在其他cxx/hxx中定义的符号,也可能是自己定义的一些符号,这些作用域超过一个cxx文件的符号称为“public符号”(例如非静态函数)。因此每一个目标文件中也包含一个符号表,用于记录自己引用的符号及自己提供的public符号。Ø 编译器合成这些目标文件成一个库文件(.lib),同时解析可以找到的符号引用。此时这个库文件包含了二进制的代码段和数据段,同样也会包含一个符号表, 阅读全文
posted @ 2011-04-15 16:28 山河 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 基于windows操作系统,可以采用如下函数创建线程,以前的代码是不准备去翻了,立此备忘而已...1、windows API CreateThread; HANDLE CreateThread(PSECURITY_ATTRIBUTES psa, DWORD cbStack,PTHREAD_START_ROUTINE pfnStartAddr, PVOID pvParam,DWORD fdwCreate, PDWORD pdwThreadID);psa参数:是指向PSECURITY_ATTRIBUTES结构的指针。如果希望所有的子进程能够继承该线程对象的句柄,必须设定一个PSECURITY_AT 阅读全文
posted @ 2011-04-15 16:27 山河 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 八、 Windows驱动程序模型Windows环境下驱动程序共有三类,一类是VxD( Virtual Device Driver,虚拟设备驱动程序),起源于Windows 3.1 时代,用于Windows 95/98/Me操作系统中;一类是KMD( Kernel Mode Driver,内核模式驱动程序),用于Windows NT下;还有一类就是WDM(Win32 Driver Mode,Win32驱动程序模型),是微软从Windows 98开始,推出的一个新的驱动类型,它是一个跨平台的驱动程序模型,不仅如此WDM驱动程序还可以在不修改源代码的情况下经过重新编译后在非Intel平台上运行,毫不 阅读全文
posted @ 2011-04-15 16:26 山河 阅读(1529) 评论(0) 推荐(0) 编辑
摘要: Windows下usb接口芯片的驱动技术一、 USB概述USB的英文全称为Universal Serial Bus,中文含义是通用串行总线,是由Conpaq、DEC、IBM、Inter、Microsoft、NEC和Northen Telecom等公司为简化PC与外设之间的互连而共同研究开发的一种免费的标准化连接器,它支持各种PC与外设之间的连接,还可实现数字多媒体集成。现在生产的PC几乎都配备了USB接口,Microsoft 的Windows98、NT以及MacOS、Linux、FreeBSD等流行操作系统都增加了对 USB的支持。它是一种快速的,双向的,同步传输的廉价的并可以进行热拔插的串行 阅读全文
posted @ 2011-04-15 16:25 山河 阅读(1411) 评论(0) 推荐(0) 编辑
摘要: IP 数据包格式(1)版本 占4位,指IP协议的版本。通信双方使用的IP协议版本必须一致。目前广泛使用的IP协议版本号为4(即IPv4)。关于IPv6,目前还处于草案阶段。 (2)首部长度 占4位,可表示的最大十进制数值是15。请注意,这个字段所表示数的单位是32位字长(1个32位字长是4字节),因此,当IP的首部长度为1111时(即十进制的15),首部长度就达到60字节。当IP分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。因此数据部分永远在4字节的整数倍开始,这样在实现IP协议时较为方便。首部长度限制为60字节的缺点是有时可能不够用。但这样做是希望用户尽量减少开销。最常 阅读全文
posted @ 2011-04-15 16:24 山河 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 1.Soket发展史以及它和tcp/ip的关系七十年代中,美国国防部高研署(DARPA)将TCP/IP的软件提供给加利福尼亚大学Berkeley分校后,TCP/IP很快被集成到 Unix中,同时出现了许多成熟的TCP/IP应用程序接口(API)。这个API称为Socket接口。今天,SOCKET接口是TCP/IP网络最为 通用的API,也是在INTERNET上进行应用开发最为通用的API。 九十年代初,由Microsoft联合了其他几家公司共同制定了一套 WINDOWS下的网络编程接口,即Windows Sockets规范。它是Berkeley Sockets的重要扩充,主要是增加了一些异步函 阅读全文
posted @ 2011-04-15 16:23 山河 阅读(430) 评论(0) 推荐(1) 编辑
摘要: 4.Internet最常用的几个服务 远程登录(Telnet)远程登陆Telnet:远程, 登录,仿真终端,共享工具。 远程登陆Telnet是一个简单的远程终端协议。 用户用Telnet就可以在所在地通过TCP连接(即登录)到远地的另一台主机上(使用主机名或IP地址)。有两种登录命令,telnet,relogin(为Berkeley UNIX而开发的) 如:telnet bbs.zsu.edu.cn, (中山大学BBS) telnet smth.org (清华BBS) Telnet也使用客户/服务器模式 Telnet功能Telnet在功能上,是模拟成远端一部电脑系统的终端机,称为网络虚拟终端N 阅读全文
posted @ 2011-04-15 16:21 山河 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 1.计算机网络体系结构相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。• “协调”衍生出网络体系结构• 定义:层次结构和各层协议的集合计算机网络是采用层次性的结构模型,将网络分为若干层次,每个层次负责不同的功能。每一个层次中通信双方都要共同遵守相应的约定,我们将这个约定叫做协议。各功能层之间,上一层向下一层提出服务的要求,下一层则完成上一层提出的要求。 物 理层为它的上一层提供一个物理连接,以及它们的机械、电气、功能和过程特性 – 机械特性:主要定义物理连接的接插装置的形状和尺寸、引脚数量和排列、固定和锁定装置等等。 – 电气特性 :规定传输二进制位时,线路上信号的电 阅读全文
posted @ 2011-04-15 16:20 山河 阅读(352) 评论(0) 推荐(0) 编辑