上一页 1 2 3 4 5 6 ··· 8 下一页
摘要: d注:假设文件的对其尺寸为0x200,而且virtuslsize为0x388(节区真实长度,内存中),那么SizeofRawdata(物理长度,在文件对其后的尺寸)为)0x400个文件的文件对齐尺寸是0x200,如果前面的VirtualSize域指示本节长度是0x388字节,则本域值为0x400,表示本节是0x400字节长)假设一个文件的文件对齐尺寸是0x200,如果前面的VirtualSize域指示本节长度是0x388字节,则本域值为0x400,表示本节是0x400字节长 阅读全文
posted @ 2011-09-14 20:57 又是一年夏天 阅读(294) 评论(0) 推荐(0)
摘要: 在DFCG回答过,再转过来吧。+---------+---------+---------+---------+---------+---------+|段名称虚拟地址虚拟大小物理地址物理大小标志|+---------+---------+---------+---------+---------+---------+|NameVOffsetVSizeROffsetRSizeFlags|+---------+---------+---------+---------+---------+---------+|.text00001000000000920000040000000200600000 阅读全文
posted @ 2011-09-14 20:21 又是一年夏天 阅读(1388) 评论(0) 推荐(0)
摘要: 偶然间在网上看到几个原来没见过的面试智力题,有几个题目在国内流传相当广,什么n个人怎么分饼最公平,屋里的三个灯泡分别由哪个开关控制,三架飞机环游世界,用火柴和两根绳子测量45分钟之类的题目,火星得已经可以考古了,这里就不再说了。 1、考虑一个双人游戏。游戏在一个圆桌上进行。每个游戏者都有足够多的硬币。他们需要在桌子上轮流放置硬币,每次必需且只能放置一枚硬币,要求硬币完全置于桌面内(不能有一部分悬在桌子外面),并且不能与原来放过的硬币重叠。谁没有地方放置新的硬币,谁就输了。游戏的先行者还是后行者有必胜策略?这种策略是什么? 答案:先行者在桌子中心放置一枚硬币,以后的硬币总是放在与后行者刚才放的地 阅读全文
posted @ 2011-09-07 19:52 又是一年夏天 阅读(209) 评论(0) 推荐(0)
摘要: 1、选择合适的算法和数据结构 应该熟悉算法语言,知道各种算法的优缺点,具体资料请参见相应的参考资料,有很多计算机书籍上都有介绍。将比较慢的顺序查找法用较快的二分查找或乱序查找法代替,插入排序或冒泡排序法用快速排序、合并排序或根排序代替,都可以大大提高程序执行的效率。.选择一种合适的数据结构也很重要,比如你在一堆随机存放的数中使用了大量的插入和删除指令,那使用链表要快得多。数组与指针语句具有十分紧密的关系,一般来说,指针比较灵活简洁,而数组则比较直观,容易理解。对于大部分的编译器,使用指针比使用数组生成的代码更短,执行效率更高。但是在Keil中则相反,使用数组比使用的指针生成的代码更短。。2.. 阅读全文
posted @ 2011-09-02 21:22 又是一年夏天 阅读(194) 评论(0) 推荐(0)
摘要: 我们知道操作系统利用体系结构提供的VA到PA的转换机制实现虚拟内存管理。有了共享库的基础知识之后,现在我们可以进一步理解虚拟内存管理了。首先分析一个例子:$ ps PID TTY TIME CMD29977 pts/0 00:00:00 bash30032 pts/0 00:00:00 ps$ cat /proc/29977/maps 08048000-080f4000 r-xp 00000000 08:15 688142 /bin/bash080f4000-080f9000 rw-p 000ac000 08:15 688142 /bin/bas... 阅读全文
posted @ 2011-09-02 20:58 又是一年夏天 阅读(390) 评论(0) 推荐(0)
摘要: 现代操作系统普遍采用虚拟内存管理(Virtual Memory Management)机制,这需要处理器中的MMU(Memory Management Unit,内存管理单元)提供支持,本节简要介绍MMU的作用。首先引入两个概念,虚拟地址和物理地址。如果处理器没有MMU,或者有MMU但没有启用,CPU执行单元发出的内存地址将直接传到芯片引脚上,被内存芯片(以下称为物理内存,以便与虚拟内存区分)接收,这称为物理地址(Physical Address,以下简称PA),如下图所示。图17.5.物理地址如果处理器启用了MMU,CPU执行单元发出的内存地址将被MMU截获,从CPU到MMU的地址称为虚拟地 阅读全文
posted @ 2011-09-02 20:49 又是一年夏天 阅读(584) 评论(0) 推荐(0)
摘要: 海量数据处理往往会很有趣,有趣在什么地方呢?空间,aliveable的内存不够,需要反复交换内存 时间,速度太慢不行,毕竟那是海量数据 处理,数据是一次调用还是反复调用,因为针对时间和空间,通常来说,多次调用的话,势必会增加预处理以减少每次调用的时候的时间代价。题目如下7、腾讯面试题:给40亿个不重复的unsignedint的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?分析:1个unsigned int占用4字节,40亿大约是4G个数不到,那么一共大约要用16G的内存空间,如果内存不够大,反复和硬盘交换数据的话,后果不堪设想。 那么怎么储存这么多的数据呢?还记得 阅读全文
posted @ 2011-08-25 22:35 又是一年夏天 阅读(511) 评论(0) 推荐(0)
摘要: C语言标准库函数 原型声明:extern char *strcpy(char *dest,char *src); 头文件:string.h 功能:把src所指由NULL结束的字符串复制到dest所指的数组中。 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 返回指向dest的指针。 编辑本段典型实现 /********************** * C语言标准库函数strcpy的一种典型的工业级的最简实现 * 返回值: * 返回目标串的地址。 * 对于出现异常的情况ANSI-C99标准并未定义,故由实现者决定返... 阅读全文
posted @ 2011-08-21 16:07 又是一年夏天 阅读(301) 评论(0) 推荐(0)
摘要: #include "stdio.h"#include "string.h"void main(){char aa[10];printf("%d",strlen(aa));printf("%d",sizeof(aa));}程序运行得到结果是strlen(aa)=15.sizeof(aa)=10;这是怎么回事呢?strlen是有效字符串的长度,不包含‘\0’,与初始化有关系,而sizeof与初不初始化没有关系。下面我们看看它们的区别吧(以下都是在网上查的)strlen(char*)函数求的是字符串的实际长度,它求得方法 阅读全文
posted @ 2011-08-21 14:00 又是一年夏天 阅读(9002) 评论(2) 推荐(2)
摘要: #include<stdio.h>#define Max 200int main(){ char str[Max]; int len=0,i; char *strlen; char *left; char temp; printf("输入字符串:"); gets(str); strlen=str; left=str; while(*strlen++) len++; strlen-=2;//这里很值得思考 while(left<strlen) { temp=*left; *left+... 阅读全文
posted @ 2011-08-21 13:44 又是一年夏天 阅读(300) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 ··· 8 下一页