- 博客(10)
- 资源 (4)
- 收藏
- 关注
原创 c4.5代码分析
分析重点:我们主要观察这段代码是如何完成读入数据的操作的 GetNames(): strcpy(Fn, FileName); strcat(Fn, ".names"); 首先对文件名进行修改操作,读取.names文件进行操作 重点看一下其读入的格式: while ( ( c = getc(f) ) == '|' || Space(c) )
2013-03-20 18:23:57
835
转载 How I Failed, Failed, and Finally Succeeded at Learning How to Code
How I Failed, Failed, and Finally Succeeded at Learning How to Code By James Somers The programming website Project Euler provides a plan for how to learn anything in fun, discrete steps
2013-03-20 18:18:04
633
原创 ucore lab1 任务七
任务七: 1.中断向量表中一个表项占用多少字节? 2.完成初始化函数idt_init 3.完成中断处理函数trap() 实验过程: 中断向量表中一个表项的代码为: struct gatedesc { unsignedgd_off_15_0 : 16; // low 16bits of offset in segment unsig
2013-02-16 21:40:05
891
转载 C++程序设计之四书五经—C++书籍推荐
C++是一门广泛用于工业软件研发的大型语言。它自身的复杂性和解决现实问题的能力,使其极具学术研究价值和工业价值。和C语言一样,C++已经在许多重要的领域大获成功。 然而,一个不可否认的现实是,在低阶程序设计领域,C++挤压着C同时也在承受着C的强烈反弹,而在高阶程序设计领域,Java和C#正在不断蚕食着C++的地盘。也许C++与C合为一体永远都是一个梦想,也许Java和C#的狂潮终将迫使C++回归
2013-02-03 00:45:15
692
原创 ucore lab1 任务六
任务六: 1.首先要明白什么是函数调用堆栈(上网查资料) 分析下述代码的堆栈调用 int Add(int x, int y) { return x + y; } void main() { int *pi = new int(10); int *pj = new int(20); int result = 0; result = Add(*pi,*pj);
2013-02-01 08:21:48
998
原创 ucore lab1 任务五
通过阅读bootmain.c,了解bootloader如何加载ELF文件。分析bootloader如何读取硬盘扇区的 以及bootloader如何加载ELF格式的OS。 首先我们来分析BOOTMAIN.C文件 bootmain(void) { // read the 1st page off disk readseg((uintptr_t)ELFHDR, SEC
2013-02-01 08:21:12
1174
原创 ucore lab1 任务四
任务四: Bootloader如何做准备并进入保护模式的? 通过查询相关指令含义总结bootasm.s的具体执行流程为: 首先在实模式下运行---〉打开A20端口---〉加载GDTR,进入保护模式---〉调用bootmain函数 .setPROT_MODE_CSEG, 0x8 #kernel code
2013-01-31 00:42:52
1220
原创 ucore lab1 任务三
任务三:查看BIOS中前6条指令的内容,参考PHIL STORRS I/O PORTS DESCRIPTION大致了解并说明这些指令的含义。 使用gdb进行调试,结果如下图所示: 发现指令并不是真正的指令,具体问题现在不太明白. 但是使用qemu进行本地调试可知如下结果: 但是经过上机操作发现在QEMU本地调试下,step命令无法发挥作用。 为了完成实验,我采取了以
2013-01-31 00:15:32
1111
原创 ucore lab1 任务二
任务二: 1. 首先开启qemu调试模式. 开启gdb调试工具,连接到qemu中: 2. 从0xfff0开始单步跟踪BIOS的执行 从上图可看出本身执行就是从fff0执行的,进行反汇编得到的结果为: 3. 在初始化位置0x7c00设置实地址断点,测试断点正常。 首先设置断点: 然后运行程序执行到断点处:
2013-01-30 18:19:37
807
原创 ucore lab1
任务一: 首先,我进行了makefile文件的分析,分析结果使用另一个文档表示了出来。 可以看到在bin目录下生成了ucore.img文件,此时可以在lab1文件夹下执行make qemu可以显示 This is a bootloader: Hello world! 一个被系统认为符合规范的硬盘主引导扇区的特征是什么? 通过对sign.c文件的分析可知,在文件中存在
2013-01-30 18:12:52
1520
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人