上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 28 下一页
摘要: http://blog.csdn.net/v_july_v其中的微软面试100题总结了各种算法题 http://blog.csdn.net/code/column.html啊哈算法:http://www.cnblogs.com/ahalei/category/554795.html每天一个小算法:h... 阅读全文
posted @ 2014-03-13 21:12 johnny_HITWH 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 汇编语言中最最常用的指令 -- 数据传送指令,也是我们接触的第一种类别的汇编指令。其指令的格式为:“mov 源操作数, 目的操作数”。mov系列支持从最小一个字节到最大双字的访问与传送。其中movb用来传送一字节信息,movw用来传送二字节,即一个字的信息,movl用来传送双字信息。这些不详说了。除此以外mov系列还提供两个带位扩展的指令movsbl和movzbl,我们举个例子来说明一下这两个特殊指令的作用何在:a) movzbl指令void dummy1() {unsigned char c = 'a';unsigned int a = c;}其对应的GNU汇编为(省略部分内 阅读全文
posted @ 2014-03-12 21:22 johnny_HITWH 阅读(17171) 评论(2) 推荐(7) 编辑
摘要: 常见gcc 编译错误整理(开始) 11 error: expected expression before 'else'else之前无表达式。 2 error:lvalue required as left operand of assignment左值问题。3 error:invalid ... 阅读全文
posted @ 2014-03-12 10:06 johnny_HITWH 阅读(2166) 评论(0) 推荐(0) 编辑
摘要: 程序员是追求完美的一族,即使是一般的程序员大多也都不想看到自己的程序中有甚至那么一点点的瑕疵。遇到任意一条编译器警告都坚决不放过。有人会说:我们可以使用比编译器更加严格的静态代码检查工具,如splint。 这个建议也很不错。不过lint工具使用起来较繁琐,有时候还需要记住一些特定符号并插入到你自己的... 阅读全文
posted @ 2014-03-12 10:04 johnny_HITWH 阅读(1022) 评论(0) 推荐(0) 编辑
摘要: 在x.c中定义了一个字符数组 char s[100],在l.c中进行引用extern char s[200], 有些c程序新手经常把它写成extern char *s。 这两种写法的含义一样吗?首先得理解声明与定义的含义:定义一个变量意味着要给它进行内存分配, 而声明一个变量则可以在其他文件中, 只是进行一种声明, 表示有这个变量存在, 但是在其他文件中定义, 声明后不用分配内存。我们看一下extern char s[100]与extern char *s在执行s[10]的取值过程是什么样的:1、 extern char s[100], s是个符号, 它既是一个数组的名称, 又是数组的起始地址 阅读全文
posted @ 2014-03-11 14:49 johnny_HITWH 阅读(734) 评论(0) 推荐(1) 编辑
摘要: 关于字符数组和字符指针关于相互赋值问题一只有疑问,其实是自己搞不清指针和地址的关系。地址可以指向一块内存但是不一定存在于内存,比如字符数组名,数组名是地址,但是不实际存在于内存中,无法修改,而字符指针是变量,因此可以修改。数组能修改的只是数据,而且每次只能修改一个。数组里面放的是数据,却没有变量存放数组指针。注意数组的初始化以及修改数据方式:后者除了初始化时,只能通过下标http://blog.csdn.net/okliujieko/article/details/6821321http://blog.sina.com.cn/s/blog_6a9d45ff0100n5jj.htmlconst 阅读全文
posted @ 2014-03-08 16:31 johnny_HITWH 阅读(268) 评论(1) 推荐(1) 编辑
摘要: 1. /proc目录Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。下面列出的这些文件或子文件夹,并不是都是在你的系统中存在,这取决于你的内核配置和装载的模块。另外,在/proc下还有三个很重要的目录:net,scsi和 阅读全文
posted @ 2014-03-04 23:39 johnny_HITWH 阅读(515) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/dkblog/archive/2011/06/24/2089026.html异常处理http://xiagu1.iteye.com/blog/619526http://www.jb51.net/article/926.htm一小时入门http://www... 阅读全文
posted @ 2014-03-03 17:06 johnny_HITWH 阅读(174) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/michael2012zhao/article/details/5554023一、 段寄存器的产生段寄存器的产生源于Intel 8086 CPU体系结构中数据总线与地址总线的宽度不一致。数据总线的宽度,也即是ALU(算数逻辑单元)的宽度,平常说一个CPU是“16位”或者“32位”指的就是这个。8086CPU的数据总线是16位。地址总线的宽度不一定要与ALU的宽度相同。因为ALU的宽度是固定的,它受限于当时的工艺水平,当时只能制造出16位的ALU;但地址总线不一样,它可以设计得更宽。地址总线的宽度如果与ALU相同当然是不错的办法,这样CPU的结构比较均衡 阅读全文
posted @ 2014-02-24 16:44 johnny_HITWH 阅读(2451) 评论(0) 推荐(2) 编辑
摘要: 内核态与用户态是操作系统的两种运行级别,intel cpu提供Ring0-Ring3三种级别的运行模式。Ring0级别最高,Ring3最低。其中特权级0(Ring0)是留给操作系统代码,设备驱动程序代码使用的,它们工作于系统核心态;而特权极3(Ring3)则给普通的用户程序使用,它们工作在用户态。运行于处理器核心态的代码不受任何的限制,可以自由地访问任何有效地址,进行直接端口访问。而运行于用户态的代码则要受到处理器的诸多检查,它们只能访问映射其地址空间的页表项中规定的在用户态下可访问页面的虚拟地址,且只能对任务状态段(TSS)中I/O许可位图(I/O Permission Bitmap)中规定 阅读全文
posted @ 2014-02-24 16:41 johnny_HITWH 阅读(329) 评论(0) 推荐(0) 编辑
上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 28 下一页