摘要: 1、通过编辑menu.lst来引导Windows系统如果您的Windows所处于的分区在(hd0,0),可以在menu.lst加如下的一段就能引导起来了;title WinXprootnoverify (hd0,0)chainloader +1如果您的机器有两块硬盘,而Windows位于第二个硬盘的第一个分区,也就是(hd1,0)您可以用grub的map来指令来操作把两块硬盘的序列对调,这样就不用在BIOS中设置了;在menu.lst中加如下的内容,比如下面的title WinXpmap (hd0) (hd1)map (hd1) (hd0)rootnoverify (hd0,0)chainlo 阅读全文
posted @ 2012-08-17 23:36 CN.SnailRun 阅读(2141) 评论(0) 推荐(0) 编辑
摘要: 按照《鸟哥私房菜些》的shell编程例子,但是却出现莫名其妙的问题。如,文件名为sh06.sh:#!/bin/bash#Program:#This program will show the user's choice#History:#2010/08/01cnhjq First releasePATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/binexport PATHread -p "Please input (Y/N): "yn[ "$yn" == &qu 阅读全文
posted @ 2012-08-17 23:35 CN.SnailRun 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 物理地址扩展 (PAE) X86 允许软件使用地址窗口扩展 (AWE) API 集并在具有 Intel Pentium Pro 或更高版本处理器的计算机上运行,而 4 GB 以上物理内存允许将更多物理内存映射为应用程序的虚拟地址空间。不使用 AWE API 集的应用程序也可以从 PAE X86 获益,因为操作系统使用更大的物理内存来减小页面,从而提高了性能。同样,这还使驻留多个应用程序的合并服务器受益。在计算机科学中,物理地址扩展或实体位置延伸(PAE)是指x86和x86-64位处理器的一个特色,即如果操作系统提供适当支持,则可以在32位的系统中使用超过4GiB字节的实体内存。PAE为Inte 阅读全文
posted @ 2012-08-17 23:35 CN.SnailRun 阅读(571) 评论(0) 推荐(0) 编辑
摘要: 大家在基于webform中使用水晶报表时如果简单的按照网上“阿刀”的做法,肯定会提示你:登陆失败。对于这个问题,斑竹我花了整整一天的时间研究水晶报表的帮助文件,终于得到解决方案。我不是一个保守的人,我相信有很多的网友正和我一样在花费精力在研究这个问题,我不愿意大家再和我一样白白的花费精力。下面是我实现该方案的几个步骤。大家不要着急,慢慢的看下去会对你有很大的帮助。步骤一:看示例文件水晶报表自带一个示例文件,数据库是access(不带密码的)。我首先运行示例文件(基于webform和winform)结果显示了正确的报表,正如“飞刀”的示例。于是,我自己建立了一个报表文件和.aspx文件,结果显示 阅读全文
posted @ 2012-08-17 23:34 CN.SnailRun 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 参考一:sizeof (char unsinged charsinged char ) =1字符类型规定为1sizeof ()[signed] int216bitunsinged int2[signed]short [int]2unsigned short [int]2[singed] long [int]432bitunsigned long [int]4float4double864bitlong double16128bitsizeof(数组) = 数组长度sizeof(指针) = 2sizeof(结构体struct) = 所有结构字节数总和sizeof(联合体union) = 最大成员 阅读全文
posted @ 2012-08-17 23:28 CN.SnailRun 阅读(484) 评论(0) 推荐(0) 编辑
摘要: 下面摘抄于MSDN《ThreadPooling》。有许多应用程序创建的线程花费了大量时间在睡眠状态来等待事件的发生。还有一些线程进入睡眠状态后定期被唤醒以轮询工作方式来改变或者更新状态信息。线程池可以让你更有效地使用线程,它为你的应用程序提供一个由系统管理的工作者线程池。至少会有一个线程来监听放到线程池的所有等待操作,当等待操作完成后,线程池中将会有一个工作者线程来执行相应的回调函数。你也可以把没有等待操作的工作项目放到线程池中,用QueueUserWorkItem函数来完成这个工作,把要执行的工作项目函数通过一个参数传递给线程池。工作项目被放到线程池中后,就不能再取消了。Timer-queu 阅读全文
posted @ 2012-08-17 23:25 CN.SnailRun 阅读(1034) 评论(0) 推荐(0) 编辑
摘要: Alertable IO(告警IO)提供了更有效的异步通知形式。ReadFileEx / WriteFileEx在发出IO请求的同时,提供一个回调函数(APC过程),当IO请求完成后,一旦线程进入可告警状态,回调函数将会执行。以下五个函数能够使线程进入告警状态:SleepExWaitForSingleObjectExWaitForMultipleObjectsExSignalObjectAndWaitMsgWaitForMultipleObjectsEx线程进入告警状态时,内核将会检查线程的APC队列,如果队列中有APC,将会按FIFO方式依次执行。如果队列为空,线程将会挂起等待事件对象。以后 阅读全文
posted @ 2012-08-17 23:24 CN.SnailRun 阅读(651) 评论(0) 推荐(0) 编辑
摘要: 早期IO设备的速度与CPU相比,还不是太悬殊。CPU定时轮询一遍IO设备,看看有无处理要求,有则加以处理,完成后返回继续工作。至今,软盘驱动器还保留着这种轮询工作方式。 随着CPU性能的迅速提高,这种效率低下的工作方式浪费了大量的CPU时间。因此,中断工作方式开始成为普遍采用的技术。这种技术使得IO设备在需要得到服务时,能够产生一个硬件中断,迫使CPU放弃目前的处理任务,进入特定的中断服务过程,中断服务完成后,再继续原先的处理。这样一来,IO设备和CPU可以同时进行处理,从而避免了CPU等待IO完成。 早期数据的传输方式主要是PIO(程控IO)方式。通过对IO地址编程方式的方式来传输数据... 阅读全文
posted @ 2012-08-17 23:23 CN.SnailRun 阅读(504) 评论(0) 推荐(0) 编辑
摘要: I/O完成端口是一种机制,通过这个机制,应用程序在启动时会首先创建一个线程池,然后该应用程序使用线程池处理异步I/O请求。这些线程被创建的唯一目的就是用于处理I/O请求。对于处理大量并发异步I/O请求的应用程序来说,相比于在I/O请求发生时创建线程来说,使用完成端口(s)它就可以做的更快且更有效率。CreateIoCompletionPort函数会使一个I/O完成端口与一个或多个文件句柄发生关联。当与一个完成端口相关的文件句柄上启动的异步I/O操作完成时,一个I/O完成包就会进入到该完成端口的队列中。对于多个文件句柄来说,这种机制可以用来把多文件句柄的同步点放在单个对象中。(言下之意,如果我们 阅读全文
posted @ 2012-08-17 23:22 CN.SnailRun 阅读(787) 评论(0) 推荐(0) 编辑
摘要: 一、STL简介 STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间。 STL的代码从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),几乎所有的代码都采用了模板类和模版函数的方式,这相比于传统的由函数和类组成的库来说提供了更好的代码重用机会。在C++标准中,STL被组织为下面的13.. 阅读全文
posted @ 2012-08-17 23:21 CN.SnailRun 阅读(223) 评论(0) 推荐(0) 编辑