摘要:宏定义中的## 连接符与# 符## 连接符号由两个井号组成,其功能是在带参数的宏定义中将两个子串(token)联接起来,从而形成一个新的子串。但它不可以是第一个或者最后一个子串。所谓的子串(token)就是指编译器能够识别的最小语法单元。具体的定义在编译原理里有详尽的解释,但不知道也无所谓。同时值得注意的是#符是把传递过来的参数当成字符串进行替代。下面来看看它们是怎样工作的。这是MSDN上的一个例子。假设程序中已经定义了这样一个带参数的宏:#define paster( n ) printf( "token" #n " = %d", token##n )
阅读全文
摘要: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参数来打开程序的调试选项。调试开始时,必须先载
阅读全文
摘要:两个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盘
阅读全文
摘要:惠普 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
阅读全文
摘要:1.每个内核对象都只是一个内存块,它由操作系统内核分配,并只能由操作系统内核访问。这个内存块是一个数据结构,其成语维护着与对象相关的信息。少数成员(安全描述符和使用计数等)是所有对象都有的,但其他大多数成员都是不同类型的对象特有的。2.由于内核对象的数据结构只能由操作系统内核访问,所以应用程序不能再内存中定位这些数据结构并直接修改其内容。由于应用程序不能更改内核对象,所以windows提供了一组函数来完成这些功能。3内核对象的句柄值 是与进程相关的,一个进程的句柄 传到另一个进程里面 就会出错。4内核对象由内核所拥有,而不是由进程所拥有。换句话说,如果你的进程调用了一个创建内核对象的函数,然后
阅读全文
摘要:#include <stdio.h>#include <Windows.h>//不加这句出编译错误#include <WinDef.h>int main(){ printf("%d",sizeof(WORD)); system("pause"); return 0;}如果要在windows控制台上使用windows的数据结构 就要包含头文件windows.h否则编译错误
阅读全文
摘要:1。windows帮助开发人员本地化应用程序2.缓冲区溢出错误(这是处理字符串的典型错误)已经成为针对应用程序乃至操作系统的各个组件发起安全攻击的媒介;(使用microfofe新的C库函数来防止应用程序的缓冲区溢出错误)3使用Unicode字符会增强应用程序的执行性能。并未本地化工作奠定基础。4UTF-16一般现在使用的。UTF是Unicode转换格式的简写UTF-8中解释为,有的字符为1个字节,有的为两个,意思不是说在一个程序中字符不一样,而是说在不同的程序中(不同的地区)有的为1字节程序(如美国)有的为2字节(中东地区和欧洲)……5在windows NT技术的内核使用的是Unicode 字
阅读全文
摘要:1.windows函数检测到错误时,会使用一种名为“线程本地存储区”的机制将相应的代码与“主调线程”关联到一起。这种机制使不同的线程能够独立运行,不会出现相互干扰对方的错误代码的情况。2winError。h(3900行)里面包含了错误代码列表。3使用GetLastError不仅可以观察错误代码,而且可以查看成功的具体原因。4在调试情况下使用Watch窗口 输入$err,hr来观察GetLastError的返回值;
阅读全文