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