心心程序博客

眼过千遍不如手过一遍! 书看千行不如手敲一行! 手敲千行不如单步一行! 单步源代码千行不如单步对应汇编一行!

导航

2012年8月15日

两指针相减

摘要: 如果两个指针指向同一个数组,它们就可以相减,其结果为两个指针之间的元素数目。int array[2]={0,1};int *p =&array[0];int *q =&array[1];q-p=1//等于1 而不是等于4 p++是值加上了4个值;(int)p-(int)q=4//看好了 是int 不是int*上面这种减法一般这么写((int)p-(int)q)/sizeof(type) 阅读全文

posted @ 2012-08-15 09:11 心心程序博客 阅读(731) 评论(0) 推荐(1) 编辑

2012年8月14日

拷贝构造 深拷贝 浅拷贝 赋值函数 总结

摘要: 1拷贝构造是在三种情况调用拷贝构造1函数的入口参数2函数的返回值3用对象来初始化对象A d(a);=号时候用重载操作符;2深拷贝 浅拷贝都是用在拷贝函数上 区别是 在有指针的情况下一个是有申请新的内存 另一个是将两个指针指向的地址一样3拷贝函数 赋值=操作符重载在没有被重载的情况下 都是简单的复制数据4拷贝函数的写法:正规写法为const A &a还有其他的拷贝函数 使用顺序为对于一个类X,如果一个构造函数的第一个参数是下列之一:a)X&b)constX&c)volatileX&d)constvolatileX&且没有其他参数或其他参数都有默认值,那么这 阅读全文

posted @ 2012-08-14 14:41 心心程序博客 阅读(310) 评论(1) 推荐(0) 编辑

2012年7月25日

(转)linux解决乱码问题

摘要: 如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题。Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件进行编码转换。查看文件编码在Linux中查看文件编码可以通过以下几种方式:1.在Vim中可以直接查看文件编码:set fileencoding即可显示文件编码格式。如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在~/.vimrc 文件中添加以下内容:set encoding=utf-8 fileencodings=ucs 阅读全文

posted @ 2012-07-25 17:29 心心程序博客 阅读(6632) 评论(0) 推荐(0) 编辑

2012年7月5日

linux查看版本命令

摘要: centos 6.0cat /etc/issue 或 lsb_release -a (此命令使用所有linux版本)查看内核版本uname -a 阅读全文

posted @ 2012-07-05 15:54 心心程序博客 阅读(306) 评论(0) 推荐(0) 编辑

2012年5月22日

C语言中的## 与 #

摘要: 宏定义中的## 连接符与# 符## 连接符号由两个井号组成,其功能是在带参数的宏定义中将两个子串(token)联接起来,从而形成一个新的子串。但它不可以是第一个或者最后一个子串。所谓的子串(token)就是指编译器能够识别的最小语法单元。具体的定义在编译原理里有详尽的解释,但不知道也无所谓。同时值得注意的是#符是把传递过来的参数当成字符串进行替代。下面来看看它们是怎样工作的。这是MSDN上的一个例子。假设程序中已经定义了这样一个带参数的宏:#define paster( n ) printf( "token" #n " = %d", token##n ) 阅读全文

posted @ 2012-05-22 14:10 心心程序博客 阅读(676) 评论(0) 推荐(0) 编辑

GDB 调试 (转)

摘要: http://blog.csdn.net.sixxs.org/wei801004/archive/2009/06/09/4253911.aspxGDB 命令详细解释Linux中包含有一个很有用的调试工具--gdb(GNU Debuger),它可以用来调试C和C++程序,功能不亚于Windows下的许多图形界面的调试工具。和所有常用的调试工具一样,gdb提供了以下功能: # 监视程序中变量的值 # 在程序中设置断点 # 程序的单步执行在使用gdb前,必须先载入可执行文件,因为要进行调试,文件中就必须包含调试信息,所以在用gcc或cc编译时就需要用-g参数来打开程序的调试选项。调试开始时,必须先载 阅读全文

posted @ 2012-05-22 10:06 心心程序博客 阅读(250) 评论(0) 推荐(0) 编辑

2012年5月19日

做系统的总结

摘要: 两个U盘。做双系统 要先做windows 后做linux两个都做好了,重做windows xp不格式化C盘(格式化也没有问题),grub是不会修改的,正常做就行。如果充windows xp升级到win7的话 会出现无法找到目录 不过一会就会转到win 7下自动执行。在PE里面如果调整分区大小的话 用PM 7.0;no such device:xxxxxxxxxxxxxx按任意键继续……。(出现此情况 在linux下使用update-grub更新即可,需管理员身份:sudo passwd root)移动硬盘进入PE->双击镜像->在镜像里面点击“自动启动”->选“安装系统到C盘 阅读全文

posted @ 2012-05-19 16:46 心心程序博客 阅读(459) 评论(0) 推荐(0) 编辑

2012年5月18日

windows could not start because of a computer disk 问题

摘要: 惠普 windows could not start because of a computer disk 一个HP台式机2310其硬盘是串口的,160G,只分有C分区和一个备份用的加密小分区,且安装的系统是HOME版的,用GHOST重做系统后,无法正常启动出现以下提示: windows could not start because of a computer disk hardware configuration problem could not read from the selected boot disk check boot path and disk harware pleas 阅读全文

posted @ 2012-05-18 20:07 心心程序博客 阅读(8248) 评论(0) 推荐(0) 编辑

2012年5月17日

windows核心编程第三章阅读 内核对象

摘要: 1.每个内核对象都只是一个内存块,它由操作系统内核分配,并只能由操作系统内核访问。这个内存块是一个数据结构,其成语维护着与对象相关的信息。少数成员(安全描述符和使用计数等)是所有对象都有的,但其他大多数成员都是不同类型的对象特有的。2.由于内核对象的数据结构只能由操作系统内核访问,所以应用程序不能再内存中定位这些数据结构并直接修改其内容。由于应用程序不能更改内核对象,所以windows提供了一组函数来完成这些功能。3内核对象的句柄值 是与进程相关的,一个进程的句柄 传到另一个进程里面 就会出错。4内核对象由内核所拥有,而不是由进程所拥有。换句话说,如果你的进程调用了一个创建内核对象的函数,然后 阅读全文

posted @ 2012-05-17 15:33 心心程序博客 阅读(334) 评论(0) 推荐(0) 编辑

2012年5月13日

编程小问题

摘要: #include <stdio.h>#include <Windows.h>//不加这句出编译错误#include <WinDef.h>int main(){ printf("%d",sizeof(WORD)); system("pause"); return 0;}如果要在windows控制台上使用windows的数据结构 就要包含头文件windows.h否则编译错误 阅读全文

posted @ 2012-05-13 13:47 心心程序博客 阅读(184) 评论(0) 推荐(0) 编辑