自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jcwKyl的专栏

蒹葭苍苍,白露为霜。所谓伊人,在水一方。

  • 博客(12)
  • 资源 (3)
  • 收藏
  • 关注

原创 PE文件格式学习笔记

1.PE文件在磁盘上的数据结构布局与加载到内存后的数据结构布局完全一模一样。加载PE文件的过程就是把PE文件的某个部分映射到内存的地址空间的过程。因而,像IMAGE_NT_HEADERS这样的数据结构在内存中和在磁盘上完全一模一样。这样带来的一点极大的好处就是如果你知道如何在一份PE文件中寻找某些东西,你也可以用相同的方法在加载到内存的映像上寻找相同的东西。(这是很重要的一点,从原文翻译过来。)2

2008-04-26 18:56:00 1825 1

原创 大学这四年

高中老朋友打电话过来,聊的还好。四年没见面,打个电话不谈天气,不谈食堂饭菜差,不谈时光流逝如白驹过隙的,怕也只有这一个朋友了。大学四年就 回家两次,第一次回家,历史老师连我姓什么都忘记了。第二次回家,则是有同学聚会。看着好多模糊的面孔,还怀疑好多人可能是上辈子认识的。我记得一些人, 可是他们可能不记得我, 一些人还记得我,可是我叫不上他们的名字,有些人互相都不记得了,有些人互相还记得并熟悉。这年头

2008-04-24 19:37:00 869

原创 关于 struct 和 union 存储时内存边界对齐的问题(二)

新的博客中好像修改以前写的博客的功能没有了。一个是在DEBUG版本中好像填充字节都是0xCC,0xCC是int 3中断指令的机器码。在release版本中,填充的字节好像没什么规律。下面是winnt.h中的那段代码:// winnt.h  line 4947#ifndef _MAC#include "pshpack4.h"                   // 4 byte packi

2008-04-23 07:35:00 2119

原创 关于struct和union存储的内存字节对齐的问题

这是在读winnt.h头文件的源代码时发现了一段自己弄不明白的代码,继而牵扯到了结构体存储的内存边界对齐的问题。该问题在MSDN中说的比较少。以下是阅读MSDN中的一些重要信息:1.可以使用 #pragma pack 指令来指定对齐字节,该指令指定内存对齐字节的功能和编译器选项 /Zp 是等效的。2.#pragma指令对该指令之后的 struct 或 union 的声明有效。如果把这条指令

2008-04-21 10:56:00 4185 5

原创 关于绘图的效率

需要一个十六进制显示分析可执行文件的小程序。 可WinHex令人郁闷的是在一个文件上做完书签后,下次无论打开什么文件它都还会按照做过的那个书签格局显示,翻遍所有的菜单项也没能再打开一个干干净净的文档。而网上其它的此类程序则很少有书签功能的,于是想自己写 一个。无奈自己酷爱命令行操作,数天来细读MSDN,收获不小,在此做一个小小的总结。1.关于双缓存绘图的技术。幸好以前接触过OPENGL,知道有双缓

2008-04-17 07:43:00 1290

原创 一个有趣的死循环程序

该程序来自csdn论坛:#include using namespace std;int main() {    goto after;    return 0;after:    cout     cout }这个程序在VC6.0下运行会出现死循环。看它编译后的汇编语句就能明白为什么会这样。 

2008-04-14 08:35:00 1595 3

原创 this指针作为函数隐含参数传递的方法

c++中的类成员函数中有个隐含的this指针做参数,参数传递过程原来是这样的(VC++6.0):测试代码:#include using namespace std;class A {public:    void f() {        cout     }};int main() {    A a;    a.f();    return 0;}调试程序执行到a.f()处,查看汇编代码:a

2008-04-14 08:34:00 2872

原创 OnDraw与OnPaint的区别

先看MSDN 怎么说:CWnd::OnPaint  afx_msg void OnPaint( );RemarksThe framework calls this member function when Windows or an application makes a request to repaint a portion of an application’s windo

2008-04-09 11:11:00 3547 1

原创 VC6.0编译msdn例子时找不到mfc42ud.dll的问题之解决

这是因为这个project使用了UNICODE的缘故。在VC菜单Build----->Configuration下把 unicode的选项删掉。在Build-------->Set Active Configuration中选中WIN32DEBUG再重新编译即可。以前在project-------->setting里修改,可是在这里修改好像根本不起作用。不知道上面的修改方法到底更改了项目的哪些文件

2008-04-08 14:05:00 4091

原创 打印数据在内存中的二进制存储格式

本来是在>第一卷看到的一个代码。当时对自己触动非常大。今天在论坛看到有人问类似的东西,就按那个想法自己用c语言写了一个,算是做个小小的纪念:#include stdio.h>void printBinary(unsigned char* mem, int size) ...{    int i;    while(size--) ...{        printf("%p: ", mem

2008-04-08 12:56:00 2370 2

原创 万事有不平

万事有不平,尔何空自苦。常将一寸身,衔木到终古。我愿平东海,身沉心不改。大海无平期,我心无绝时。呜呼,君不见西山衔木众鸟多,鹊来燕去自成窠。                                                    -----------顾炎武  《精卫》 

2008-04-03 08:22:00 1462

转载 gdb基本调试

 本文写给主要工作在Windows操作系统下而又需要开发一些跨平台软件的程序员朋友,以及程序爱好者。GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。GDB中的命令固然很多,但我们只需掌握其中十个左右的命令,就大致可以完成日常的基本的程序调试工作。 命令

2008-04-02 19:22:00 1117

phrame 示例代码

这是初学phrame mvc框架写的示例代码。与代码相关的文档可以在http://blog.csdn.net/jcwKyl/archive/2009/10/31/4752531.aspx这篇日志中看到。

2009-10-31

phrame的api文档

这是使用phpDoc从phrame的源代码注释中生成的phrame文档,phrame的版本是2.1pre4。

2009-10-28

王晓东:算法与数据结构学习指导与习题解析[1]\王晓东:算法与数据结构学习指导与习题解析.pdf

书的名字虽然不显眼,但内有乾坤。里面的每一个算法题目都值得好好思考和经常复习。是打好算法基本功的最佳教程。《算法导论》讲的太略。而《计算机程序设计的艺术》有点太高级。

2008-10-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除