10 2012 档案

linux c语言用intel语法反汇编【转载】
摘要:http://topic.csdn.net/u/20081206/00/ba2ac6fe-a3c6-4e40-829d-dc6472e5e3a7.html要用到objdump命令的相应参数:objdump -d -mi386:x86-64:intel ./t.so 就可以将当前目录下的t.so文件按intel语法反汇编了,下面是参数详细说明-----------------------------------------------------------------------------------------------------------------------------The 阅读全文

posted @ 2012-10-13 12:11 weiweishuo 阅读(432) 评论(0) 推荐(0)

tips for command under debian
摘要:1,ls的-F参数可以用来仅仅列出某目录下所有子目录ls -F|grep /2,因此,仅仅列出某目录下所有文件也就不难了ls -F|grep '/$'(注意,想列出名字含空格的文件要另加上“-1”选项)3*,debian6安装过程中,会提示使用网络镜像,列出来3个镜像。我家走的是网通,今天(2013,1,8)发现第一个源坏掉了,第二个源比第三个源快一倍多。不知道电信怎样。4*,安装之后,/etc/apt/sources.list里面的源成了www.anheng.com,很慢,我换成了163的源:deb http://mirrors.163.com/debian/ squeeze 阅读全文

posted @ 2012-10-13 10:08 weiweishuo 阅读(147) 评论(0) 推荐(0)

解决淘宝“和我联系”打不开
摘要:我也是偶然发现的:有时候,淘宝网页的“和我联系”怎么都点不开,这时候右键单击“和我联系”那个图标,选择菜单项“打开链接”,浏览器就会新建一个窗口并自动打开对话窗口: 阅读全文

posted @ 2012-10-11 20:50 weiweishuo 阅读(1020) 评论(0) 推荐(0)

orange‘s学习日志
摘要:2012-10-10 *第5章学完了,真像作者说的,“喘口气了”。想到学习第三章时的痛苦,心里开阔了一些:第三章确实是个坎儿,我之前只学了王爽的80X86汇编,没接触过保护模式和80386工作机制,所以第三章劈头盖脸的就是选择子,段描述符,门描述符,gdt,idt,ldt,tss,特权级,堆栈切换等等,彻头彻尾的新知识,而我当时还没意识到(现在想起来这一点才是可怕的),没有心理准备,每天学的都不满意,不开心...不过,虽然方法不对头,但终究一点儿点儿摸过来了,这时才猛发现杨季文那本黑皮书,在这段日子里被翻老了半截。很感谢在网上认识的ganboing,他对我讲学orange's,光有一点 阅读全文

posted @ 2012-10-10 17:49 weiweishuo 阅读(390) 评论(0) 推荐(0)

linux不使用任务门【转载】
摘要:http://oss.org.cn/kernel-book/ch05/5.4.1.htmIntel的这种设计确实很周到,也为任务切换提供了一个非常简洁的机制。但是,由于i386的系统结构基本上是CISC的,通过JMP指令或CALL(或中断)完成任务的过程实际上是“复杂指令”的执行过程,其执行过程长达300多个CPU周期(一个POP指令占12个CPU周期),因此,Linux内核并不完全使用i386CPU提供的任务切换机制。由于i386CPU要求软件设置TR及TSS,Linux内核只不过“走过场”地设置TR及TSS,以满足CPU的要求。但是,内核并不使用任务门,也不使用JMP或CALL指令实施任务 阅读全文

posted @ 2012-10-10 10:04 weiweishuo 阅读(410) 评论(0) 推荐(0)

用nasm编译16位的elf文件
摘要:文档里说到nasm在输出elf目标文件时,具备16位段的扩展能力(众所周知elf只有32位和64位格式)。不知道官方这句话真的假的,反正目前我试过两种情形会失败: 情形1——16位实模式下,通过int 13h将软盘上的kernel.elf文件加载到80000h地址处,找到elf的入口地址,然后跳进去,结果代码执行错误,输入"u/10 entry"(entry是在调试时候慢慢算出来的)反汇编一看,入口处的指令奇形怪状,跟kernel.asm不一样。我怀疑16位实模式下,使不能执行elf文件中的指令的。下面贴出来kernel.asm: kernel.asm global _st 阅读全文

posted @ 2012-10-06 15:30 weiweishuo 阅读(719) 评论(0) 推荐(0)

bochs调试心得
摘要:1,让调试错误信息显示到控制台 作者在第三章讲DPL时,设计了一个保护异常的出错例子(50页):将DPL设为1,RPL设为3,编译运行,结果“系统崩溃,bochs重启,在控制台你能看到这样的字样:load_seg_reg(ds):RPL&amp;RPL must be <=DPL” 可我专门找了一个上午都没有找到出错信息,最后发现bochs的调试出错信息默认都被重定向到bochsout.txt文件里去了。 要想让出错信息重回控制台,把配置文件.bochsrc里“log: Bochsout.txt ”这行用#号注释掉就OK了。 bochs在退出或崩溃时都会输出有关信息(到控制台或是 阅读全文

posted @ 2012-10-06 15:08 weiweishuo 阅读(749) 评论(0) 推荐(0)

静态库
摘要:http://www.eefocus.com/article/09-11/85659s.html?clear=t有时候需要把一组代码编译成一个库,这个库在很多项目中都要用到,例如libc就是这样一个库,我们在不同的程序中都会用到libc中的库函数(例如printf),也会用到libc中的变量(例如以后要讲到的environ变量)。本节介绍怎么创建这样一个库。我们继续用stack.c的例子。为了便于理解,我们把stack.c拆成四个程序文件(虽然实际上没太大必要),把main.c改得简单一些,头文件stack.h不变,本节用到的代码如下所示:这些文件的目录结构是: .我们把stack.c、pus 阅读全文

posted @ 2012-10-02 18:38 weiweishuo 阅读(253) 评论(0) 推荐(0)

谈谈我对攻读计算机研究生的看法
摘要:就我自己的理解,谈谈我对读研和软件学院的看法,不妥之处一笑了之即可。 如果你有实际开发工作经验,感觉自己的水平和实力进入了一个高原期,迫切需要从理论上提高,那么计算机学院是唯一选择。因为计算机学院才能让你在理论上更上一层楼。软件学院从教学计划上就没有把你往这方面带。当然能不能更上一层楼最终还是完全取决于你自己。需要特别说明的是,工作经验并不一定等于开发经验,我见过很多工作2-3年的人,但是没有一点开发经验。 你说:“他们都有很强的开发能力,只是不太喜欢读书,也只是希望混个学历对今后在岗位上晋升有好处”,我可以向你保证,你所说的人绝对不是开发能力很强的人。因为,1)高手不可能不喜欢读... 阅读全文

posted @ 2012-10-02 09:39 weiweishuo 阅读(220) 评论(0) 推荐(0)

tips for C
摘要:1,如果将typeof用于表达式,则该表达式不会执行。只会得到该表达式的类型。2,ld链接静态库时一定要先-o,再-l。因为此时ld不再像链接动态库时那样能自动调整依赖顺序。3,printf("%f",1/2);输出是0.5么,不,输出0。想输出0.5,这样写,printf("%f",(doublle)1/(double)/2);这应是c语言把数值常量默认为int类型的缘故,int类型运算,结果0.5取整自然是0了。4,C99标准的规定,'a'叫做整型字符常量(integercharacterconstant),被看成是int型,所以在3 阅读全文

posted @ 2012-10-01 08:29 weiweishuo 阅读(159) 评论(0) 推荐(0)

void*指针的由来
摘要:【转载】http://blog.csdn.net/mhjcumt/article/details/7355127int a=1;int *p = &a;float *p1 = (float*)p;则p和p1的值都是&a,但是*p是将&a地址中的值按照int型变量进行解释,而*p1则是将&a地址中的值按照float型变量进行解释。鉴于指针之间这种灵活的强制类型转换的需求和出于简化代码的考虑,ANSI C引入了空指针即void*。void指针又名万能指针,在现在的很多程序中,当参数不确定时就用万能指针代替,这一类的指针在线程\进程函数里特别常见。ANSI C规定,v 阅读全文

posted @ 2012-10-01 08:23 weiweishuo 阅读(228) 评论(0) 推荐(0)

导航