正文内容加载中...
posted @ 2012-12-12 19:29 pzxbc 阅读(361) 评论(0) 推荐(0) 编辑
摘要:Win32 Portable Executable File Format(PE)的格式源于COFF文件格式。用VC编译器生成的Obj文件是COFF文件格式的。Exe和DLL文件都是PE文件格式。介绍关于PE和COFF文件的格式的资料: MSDN官方文档:Microsoft PE and COFF Specification Matt Pietrek写的文章:An In-Depth Look into the Win32 Portable Executable File Format(part1, part2) PE文件RVA地址与文件地址(file offset)转换:Portable... 阅读全文
posted @ 2012-10-30 18:11 pzxbc 阅读(449) 评论(0) 推荐(0) 编辑
摘要:今天早上在关闹钟的时候,手机莫名其妙的进入了开机画面,结果就一直停留在了开机画面(‘X’)。扣掉电池,重新启动也不行。 网上搜索了下,大致有两种解决方法: 1. 进入recovery模式,wipe/factory reset,清除所有数据 2. 重新刷机 因为不想刷机,就选择了第一种方法。但是一直进入不了官方的recovery模式(手机系统是官方的4.1.2,能够进入fastboot 模式(同时按住音量上下键和电源键开机),选择进入recovery模式后,出现倒地的机器人再按住音量上键和电源键,没有出现wipe数据等相关选项)。于是就去下载了GNex TOOLKIT V9.... 阅读全文
posted @ 2012-10-25 13:25 pzxbc 阅读(4657) 评论(0) 推荐(0) 编辑
摘要:在存储介质(硬盘、软盘、光盘)中有一块特殊的区域,叫做引导区。在计算机启动后,BIOS会读取引导区内的代码到内存中去,然后将执行这些代码。引导区的位置和大小与计算机的平台有关,对于IBM-PC兼容机,引导区位于存储介质的第一个扇区,大小为512字节。位于引导区内的代码就称为引导程序。引导区内是否含有引导程序由引导区内的标记标识。对于IBM-PC兼容机,如果引导区内的最后两个字节为0x55,0xAA,则BIOS检测程序认为引导区内包含引导程序。引导程序并不一定要实现加载操作的功能,它可以是任何程序。 IBM-PC兼容机的具体启动过程如下:   1.按下计算机的电源键后,x86 CPU就开始在实模式下运行位于物理地址0xFFFFFFF0(通常这个地址是指向的是位于ROM中的BIOS的入口点)处的指令,这个指令是一个跳转指令,跳转到BIOS的启动程序。启动程序运行硬件检测和初始化操作。   2.在初始化所需要的硬件后,BIOS就依据设定的启动顺序遍历存储设备,直到找到一个可引导的设备。一个可引导的存储设备是引导区内包含引导程序。BIOS通过检查引导区的最后两个字节是否为0x55,0 阅读全文
posted @ 2012-10-24 12:53 pzxbc 阅读(10029) 评论(12) 推荐(2) 编辑
摘要:对于MFC对话框应用程序,如果要在窗口显示之前对窗口控件赋值,一般都是在OnInitDialog()函数中编写相关代码。这是正确的,因为在调用OnInitDialog()函数的时候,对话框应用程序已经建立好了窗口及其子控件,只是还没有显示出来,窗口控件的句柄值是有效的。如果你需要获取窗口控件相对于屏幕的坐标位置呢?通过实验可以得知,在主对话框的OnInitDialog()中调用GetWindowRect()函数,得到窗口大小值(宽高)是正确的,但是左上角的坐标点是(0,0)值,而我们的对话框窗口不是在(0,0)点。同样,在主对话框的OnInitDialog()函数中获取其他控件的屏幕坐标也.. 阅读全文
posted @ 2012-10-14 20:36 pzxbc 阅读(6437) 评论(0) 推荐(2) 编辑
摘要:1.什么是Widnows内核对象内核对象是系统和应用程序用于管理各种资源的(比如进程、线程、文件等等)的一种数据结构,由内核管理,对应用程序不透明,即应用程序不能访问其数据结构。2.内核对象有哪些按照类型来分类,内核对象有:访问标记对象,事件对象,文件对象,文件映射对象,I/O完成端口对象,作业对象,信号槽对象,进程对象,线程对象等等。使用Sysinternal工具中的WinObj可以查看所有的内核对象。3.怎样使用Windows内核对象通过操作系统提供的CreateXXX或者OpenXXX函数来创建或者打开对应类型的内核对象。比如进程对象:CreateProcess(),OpenProces 阅读全文
posted @ 2012-10-13 11:58 pzxbc 阅读(1795) 评论(1) 推荐(2) 编辑
摘要:How to stop explorer.exe add process to pca-prefixed job默认情况下,从资源管理器中启动一个应用程序时,资源管理器会自动的将所创建的进程放入一个专用的PCA前缀的Job。由于作业(Job)中的进程退出时,我们可以收到一个通知,这样当资源管理器启动老版本的应用程序出现问题时,就会触发Program Compatibility Assistant(程序兼容性助手)。如果确定我们编写的程序没有任何兼容性问题,可以通过添加manifest文件来组织资源管理器将我们的进程添加进PCA前缀的Job中。1.将下面的XML代码为Compatibility. 阅读全文
posted @ 2012-10-12 22:30 pzxbc 阅读(876) 评论(0) 推荐(0) 编辑
摘要:一、windows 7系统下全新安装高版Windows7:1、下载windows7ISO镜像,用虚拟光驱拷贝至非C盘(如D:\7600)2、开机按F8——修复系统——选择最后一项命令修复——在命令框输入“D:\7600\sources\setup.exe”(不带引号)3、进入安装界面、选择custom安装4、选择安装语言、格式化C盘5、OK了,装好后是一个纯系统(非双系统)。二、如果有vista安装盘的话,方法也很简单:1、下载windows7 ISO镜像,用虚拟光驱拷贝至非C盘(如D:\7600)2、BIOS中选择光驱启动,进入vista安装界面3、选择左下角修复计算机(自动搜索系统,提示加 阅读全文
posted @ 2012-06-17 13:30 pzxbc 阅读(712) 评论(1) 推荐(0) 编辑
摘要:Matlab作为一门科学计算语言,在求解矩阵运算方面非常方便。 求解AX=B Matlab代码:X=A\B或者X=mldivide(A,B)或者X=inv(A)*B mldivide()是运算符\的函数封装,作用是一样的。对于\求解X,Matlab采用的是高斯消元法求解。inv()作用是求矩阵的逆,采用inv(A)*B求解X不如\精确。 求解XA=B Matlab代码:X=B/A或者X=mrdivide(B,A)或者X=B*inv(A) 如果方程没有解,上面方法求解都是一个最小二乘解。 阅读全文
posted @ 2012-03-29 16:06 pzxbc 阅读(11712) 评论(0) 推荐(0) 编辑
摘要:理解一个系统的内存体系结构能够让你对系统内部是怎么运作的有一个更深入的了解;能够使你知道怎么在两个进程之间共享数据、系统在哪里存放了我们的数据以及怎样编写更高效的应用程序。   在32位的Windows系统中,每一个进程有4G的虚拟地址空间,之所以说是虚拟的,因为4G只是一个地址空间,一个数值而已,应用程序实际能够使用的内存还是要视计算机中实际的物理内存而定(包括系统提供的页面文件)。   进程虽然拥有4G的地址空间,但是并不是所有的地址空间都能为进程使用。进程的地址空间被分为下面几个模块。 阅读全文
posted @ 2012-03-28 21:32 pzxbc 阅读(673) 评论(0) 推荐(0) 编辑