位:“位(bit)”是电子计算机中最小的数据单位。每一位的状态只能是0或1。
字节:8个二进制位构成1个“字节(Byte)”,它是存储空间的基本计量单位。1个字节可以储存1个英文字母或者半个汉字,换句话说:1个汉字占据2个字节的存储空间。
字:“字”由若干个字节构成,字的位数叫做字长,不同档次的机器有不同的字长。例如一台8位机,它的1个字就等于1个字节,字长为8位。如果是一台16位机,那么,它的1个字就由2个字节构成,字长为16位。同理32位机,是有四个字节构成一个字。现在一般都是32位机。字是计算机进行数据处理和运算的单位。
KB:K表示1024,也就是2的10次方。1KB表示1K个Byte,也就是1024个字节。
MB:1MB = 1024KB = 1048576Bytes
进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制—X进制,就表示某一位置上的数运算时是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一。
失败的情况:
//======================================
// CString fileName = file.GetPathName();
//测试1
//char* pChar;
//pChar = (char *)fileName.GetBuffer();
////pChar = fileName.GetBuffer();
//fileName.ReleaseBuffer();
//测试2
/* char pChar[1024];
memcpy(pChar,fileName,fileName.);*/
//测试3
/* char pChar[1024];
int nIndex = fileName.GetLength();
for(int i=0;i<nIndex;i++)
{
pChar[i] = fileName[i];
}
pChar[nIndex] = 0;*/
//==========================================
(更多…)
1、内存分配方式
内存分配方式有三种:
(1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。
(2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
(3) 从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete释放内存。动态内存的生存期由我们决定,使用非常灵活,但问题也最多。
2、常见的内存错误及其对策
发生内存错误是件非常麻烦的事情。编译器不能自动发现这些错误,通常是在程序运行时才能捕捉到。而这些错误大多没有明显的症状,时隐时现,增加了改错的难度。有时用户怒气冲冲地把你找来,程序却没有发生任何问题,你一走,错误又发作了。 常见的内存错误及其对策如下:
* 内存分配未成功,却使用了它。
(更多…)
人永远都这样,吃苦奋斗的过程中感到漫无边际,似乎时间过得无比慢。等一切尘埃落定回首往事的时候,才发现当初度日如年的艰难也不过就一瞬间。这大概就是为什么诗里感叹”去日苦多”,只有过去的才发现匆匆。虽然回忆的时候明白要珍惜,但大多数人一回到现实又忘了,还是和往常一样按部就班地过。
也许,我们应该经常提醒自己,时光的逝去很简单,漫漫几十年的故事在一分钟内就可以回忆完。换言之,当岁月流走后,就很难再次握在手中,留下的不过是一些飘忽不定的影踪。无论我们多么渴望牢牢抓住,最后还是发现两手空空。日子,就是这样单薄,薄得用几页纸就足以记录。想到这一切,不应该珍惜手边的每一秒钟,珍惜生命中的每一个人吗?
最近发现用gmail订阅的杂志,老是正文显示不完整,刚开始以为是杂志发送方的问题,就发邮件咨询了下,一直没有回复,今天在网上搜了下,才知道这个是gmail的问题。
这个问题就是如果gmail邮件正文内容过多他会自动截断(具体多长会截断不清楚),其实邮件的内容还是完整的,只是没有把截断的内容显示出来。当然只要内容还在邮件中就有办法查看,一种解决办法就是点击邮箱右上方的”打印”功能就可以显示全文,当然这个不用真的打印,只是为了看完整的邮件内容。另一种解决办法就是点击显示完整邮件,但是这样操作后看见的是base64编码后的邮件,完全不可阅读。纳闷的是gmail开发团队没有给个官方的解决办法。