这里谈谈文本文件与二进制文件以及C语言读写这两种文件的标准接口。 【具体到物理保存时都是二进制的,关键是保存前对数据的编码有区别。】 文本文件与二进制文件在计算机文件系统中的物理存储都是二进制的,也就是在物理存储方面没有区别都是01码,这个没有异议,他们的区别主要在逻辑存储上,也就是编码上。 文本文件格式存储时是将值作为字符然后存入其字符编码的二进制,文本文件用‘字符’作为单位来表示和存储数据,比如对于1这个值,文本文件会将其看做字符‘1’然后保存其ASCII编码值(这里假定是ASCII编码),这样在物理上就是0x31这个二进制值,而若是二进制保存1,则直接保存其二进制值,比如如果程序中是处理 Read More
posted @ 2013-07-25 19:46 _iCDev_Zhou Views(8712) Comments(0) Diggs(2) Edit
原文来自:http://blog.csdn.net/xgjianstart/article/details/4768769参考学习一下。开机过程指的是从打开计算机电源直到LINUX显示用户登录画面的全过程。分析LINUX开机过程也是深入了解LINUX核心工作原理的一个很好的途径。启动第一步--加载BIOS当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了。在BIOS将系统的 Read More
posted @ 2012-10-26 17:38 _iCDev_Zhou Views(136) Comments(0) Diggs(0) Edit
1,添加一个属性 类型为IDispatch *2,在javascript中将函数(function)对象赋值给该属性。3,在COM中通过invoke调用该function CComVariant result; CComVariant avarParams[1] = {str}; DISPPARAMS dispParams = {avarParams, NULL, 1, 0}; EXCEPINFO excepInfo; memset(&excepInfo, 0, sizeof excepInfo); UINT nArgErr = (UINT)-1; // initialize to . Read More
posted @ 2012-09-25 14:05 _iCDev_Zhou Views(400) Comments(0) Diggs(1) Edit
来自:http://tbbs.chinaunix.net/archiver/tid-852547.htmlForewordTable of Contents作者声明版本和注意感谢译者注作者声明《Linux内核驱动模块编程指南》最初是由Ori Pomerantz为2.2版本的内核编写的 ,后来,Ori将文档维护的任务交给了Peter Jay Salzman,Peter完成了2.4内核版本文档 的编写,毕竟Linux内核驱动模块是一个更新很快的内容。现在,Peter也无法腾出足够的 时间来完成2.6内核版本文档的编写,目前该2.6内核版本的文档由合作者Michael Burian 完成。版本和注意 Read More
posted @ 2012-09-06 15:30 _iCDev_Zhou Views(899) Comments(0) Diggs(0) Edit
工作中需要通过JS去获取当前使用的浏览器的名字以及版本号,网上大堆资料都有一个关键词是navigator.appName,但是这个方法获取的浏览器的名字只有两种要么是IE要么就是Netscap,倒是可以用来判断是否使用了IE,但是我想获取具体的浏览器产品名字比如 Firefox,Chrome等。所以只好通过navigator.userAgent,但是这个字符串是非常长的,分析他的特征,通过正则表达式来解决这个问题是不错的方法。 (1) 获取浏览器名字+版本字符串 function getBrowserInfo() { var agent = navigator.userAgent.to... Read More
posted @ 2012-08-20 18:48 _iCDev_Zhou Views(58769) Comments(4) Diggs(1) Edit
#include<stdio.h>#include<windows.h>#include<locale.h>#defineBUFF_SIZE1024wchar_t*ANSIToUnicode(constchar*str){inttextlen;wchar_t*result;textlen=MultiByteToWideChar(CP_ACP,0,str,-1,NULL,0);result=(wchar_t*)malloc((textlen+1)*sizeof(wchar_t));memset(result,0,(textlen+1)*sizeof(wchar Read More
posted @ 2012-08-16 10:28 _iCDev_Zhou Views(192) Comments(0) Diggs(0) Edit
不知道为什么,用fedora 16后比起使用win7的时候上网速度慢了一大截,难道是因为我装的DVD版吗,装了一大堆没用的软件的缘故吗,刚使用linux没多久,对这些东西一头雾水,关键有时候连网关都ping不通,网络非常的不稳定,有时候网速还可以,但是用个半个小时又挂了,感觉就像收包缓存没了一样。不知道怎么优化一下上网速度。 找找资料,试着把那个selinux关了,甚至还把防火墙关闭,发现上网速度有所好转,但是变化不明显。 于是使用 lsmod 查看一下加载的模块,发现一大堆的 ipv6 的东西,但是现在这个ipv6其实还用不着,于是想着把和ipv6相关的东西都卸载了算了。 (1)到... Read More
posted @ 2012-08-14 23:51 _iCDev_Zhou Views(580) Comments(0) Diggs(0) Edit
(1)去官网下载个rpm URL:https://www.google.com/intl/zh-CN/chrome/browser/ (2)使用经典的命令 rpm -ivh google*.rpm 讨厌的依赖关系出来了: lsb >= 4.0 is needed .. (3) 于是下载了个 redhat-lsb-4.0 **.rpm rpm -ivh redhat-lsb**.rpm 但是依赖关系又来了,然后按照要求再安装几个rpm包但是一直有依赖关系。 为避免出现了循环依赖,而且我想装个chrome哪来这么多的破依赖,就强制安装,不检查依赖关系。 ... Read More
posted @ 2012-08-14 23:09 _iCDev_Zhou Views(679) Comments(0) Diggs(0) Edit
关键字:预编译,/Yu,/Yc,/Yx本文介绍VC6的预编译功能的使用,由于预编译详细使用比较的复杂,这里只介绍几个最重要的预编译指令: /Yu, /Yc,/Yx,/Fp。其它的详细资料可以参考:MSDN->Visual Studio D6.0Document -> Visual C++6.0 Document->VC++ Programmer Guider ->Compiler and Linker->Details->Creating Precompiled Header files预编译头的概念:所谓的预编译头就是把一个工程中的那一部分代码,预先编译好 Read More
posted @ 2012-08-14 18:19 _iCDev_Zhou Views(264) Comments(0) Diggs(0) Edit
4.Basic Inline.The format of basic inline assembly is very much straight forward. Its basic form is基本汇编嵌入格式如下:asm("assembly code");Example.asm("movl%ecx%eax");/*movesthecontentsofecxtoeax*/__asm__("movb%bh(%eax)");/*movesthebytefrombhtothememorypointedbyeax*/You might h Read More
posted @ 2012-08-14 18:18 _iCDev_Zhou Views(4042) Comments(0) Diggs(1) Edit