- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 学习BOOST的文件迭代
boost的源码有许多让奇技淫巧,文件迭代也不例外。这又算作一巧吧。boost使用手册告诉我下面三行代码可以将try.h头文件包含5次。#define BOOST_PP_ITERATION_LIMITS (5, 10)#define BOOST_PP_FILENAME_1 "try.h"??=include BOOST_PP_ITERATE()(其中??=与#等价)前两个宏都是我自己定义的,只有BOOST_PP_ITERATE是boost定义的。因此,所有的秘密都在这个宏定义中。我把BOOST_PP_ITE
2010-12-28 17:51:00 1454
原创 用typelist实现RUNTIMECLASS机制
一.RUNTIMECLASS机制RUNTIMECLASS机制无非可以有两点好处:一个是根据对象名创建一个对象,CObject* PASCAL CreateObject(LPCSTR lpszClassName);一个是动态判断型别。BOOL IsKindOf(const CRuntimeClass* pClass) const;特别是第二点,给编程带来很大的灵活性,程序员可以在向父类的指针集合中,找出感兴趣的子类的指针,然后进行向下类型转换处理。for(vector::iterator it = vPtr
2010-12-28 16:07:00 932
原创 用masm写个boot程序
我是一个菜鸟,但我很想学电脑,最近我又想学习dos的原理,就在网上乱搜,看了几篇关于写操作系统的文章,很有启发,于是想自己动手做做实验,写个操作系统,不,确切的说只是引导程序,真正的操作系统原理太复杂,不是我能做的。网上的介绍这方面的文章也只停留在引导阶段,而且很多都是用在linux下编译的。而我没有linux系统,只有一个很烂的masm编译器,所以我就为和我一样只有masm的电脑爱好者们写一篇关于磁盘引导的文章吧。 实验目的:写一个引导程序和一个超简单的内核,引导成功后能在键盘上输入字符并显示 实
2010-12-28 12:08:00 1674
原创 保护模式编程学习心得
<br />这篇心得是大2写的。在整理硬盘的时候突然发现。虽然已经过时了,但是还有点小意义,现保存到我的BLOG上。<br /> <br /><br />控制寄存器cr0控制是在保护模式还是在模式还是虚拟86下工作。<br />CR2用于发生页异常时报告出错信息。当发生页异常时,处理器把引起页异常的线性地址保存在CR2中。操作系统中的页异常处理程序可以检查CR2的内容,从而查出线性地址空间中的哪一页引起本次异常。<br />CR3用于保存页目录表的其始物理地址。<br /> <br />虚拟地址空间-(段转
2010-12-28 12:07:00 637
原创 汇编和c混合编程
<br />这篇心得是大2写的。在整理硬盘的时候突然发现。虽然已经过时了,但是还有点小意义,现保存到我的BLOG上。<br /> <br /><br />汇编与C混合编程<br />比如写一个c程序调用汇编程序的函数<br />/*c代码ci.c*/<br />extern int cyx(int a,int b);<br />main()<br />{<br /> printf("answer is:%d",cyx(2,3);<br /> getch();<br />}<br /> <br />;相应
2010-12-28 12:05:00 799
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人