博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 8 9 10 11 12 13 14 15 16 下一页

2011年4月7日

摘要: Linux允许同一个文件可以有好几个不同的名字,而它们共享一个数据。一个文件发生改变,其他的文件也都会发生改变。这就是Hard Link。 用命令行创建一个链接默认即为硬链接。命令如下: ln {source} {link} 下面是一个例子: ln foo bar即为foo这个文件创建一个硬链接,新名字叫做bar。使用命令查看它们的编号一样:ls -i fools -i bar 硬链接也有一些缺... 阅读全文

posted @ 2011-04-07 14:54 天地玄黄 阅读(2349) 评论(0) 推荐(0) 编辑

摘要: 在Linux下编写C程序的时候,总是看见 #include <sys/types.h> 这样的引用。那么sys/types.h在哪里呢? 一般在/usr/include这个目录下。这是gcc的默认头文件目录 阅读全文

posted @ 2011-04-07 09:36 天地玄黄 阅读(6539) 评论(0) 推荐(0) 编辑

2011年3月31日

摘要: 1、AT&T的助记法和寄存器名称都必须是小写字母的。Intel set(and hence NASM)提倡使用大写,但是也可以接受小写,但是AT&T必须小写。 2、寄存器名称之前要加 % 。Intel 写作 EAX 或者 AX 的,在AT&T中就要写作 %eax 和 %ax 。 3、AT&T 中的指令如果含有操作数,那么它需要有一个后缀:b, w, 或者 l,分别表示 byte(8 bits),... 阅读全文

posted @ 2011-03-31 21:39 天地玄黄 阅读(474) 评论(0) 推荐(0) 编辑

2011年3月30日

摘要: 在Linux中,gcc更像一个工具大管家,管理很多工具一起来对C程序进行编译。详细过程请看下图,带阴影的箭头表示文件的流程,空白箭头表示控制过程: 下面详细介绍一下这个过程。 1、程序员在Linux终端中输入命令gcc eatc.c –o eatc 2、gcc接管Linux的控制权,然后立即启用一个工具C preprocessor(cpp)。这个工具处理C语言的源代码文件(eatc.c),处理比... 阅读全文

posted @ 2011-03-30 21:25 天地玄黄 阅读(4697) 评论(0) 推荐(0) 编辑

摘要: 当Linux把程序加载到内存中的时候,Stack中是存储有一些预先的信息的。 Stack存在于内存中0xbfffffff附近,但是不会大于这个值。Stack是底朝上的,ESP指向最外面的元素。 · ESP所指向的最外面的元素是这个程序的参数个数,最少为1。比如运行./test这个程序,这唯一一个参数指的就是test。这是32bits的。 · 之上一行是一个地址,指向可执行的文件。也是32bits的... 阅读全文

posted @ 2011-03-30 14:12 天地玄黄 阅读(243) 评论(0) 推荐(0) 编辑

2011年3月29日

摘要: 这只是一个学习笔记,难免会有些杂乱,记录的都是一些汇编中有关String的要点。 1、在汇编语言看来,只要是在内存中连续的存储单元(byte)中存储的东西都叫做“String”,而不管这些东西是不是人可以识别的字符。 2、汇编语言的String是你通过在R额Register中设定相应的值来指定的。比如在EAX中指定String的首地址,在ECX中指定String的长度。 3、String分为Sou... 阅读全文

posted @ 2011-03-29 17:04 天地玄黄 阅读(4974) 评论(0) 推荐(1) 编辑

2011年3月28日

摘要: Technorati 标签: 汇编,Macro,Procedure 一、相同之处: Macro和Procedure都是一个程序段。 二、不同之处: Macro是由一对符号表示的:%MACRO Label #(#表示这个Macro需要几个参数,有0,1,2…,在使用的时候用%1, %2…代替相应) %ENDMACRO(注意是在最后一行单独显示) Procedure也是由一对符号表示,CALL和RET... 阅读全文

posted @ 2011-03-28 14:13 天地玄黄 阅读(1492) 评论(0) 推荐(0) 编辑

2011年3月27日

摘要: 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://vanshell.blog.51cto.com/890307/417068 我相信学过C语言的同学,都会在书中看到C语言特点一定有:可移植性。但是什么是可移植?如何才能可移植?C语言是如何做到可移植的?对于初学者,可移植可能是一个经常遇到却很神秘的词。我想通过这篇文章来表达我对于... 阅读全文

posted @ 2011-03-27 17:02 天地玄黄 阅读(1162) 评论(0) 推荐(0) 编辑

摘要: 文件描述符和系统调用号。 File Descriptor文件描述符:0:Standard Input 1: Standard Output 2: Standard Error 系统调用号: 0: 1:sys_exit 2: 3:sys_read 4:sys_write 阅读全文

posted @ 2011-03-27 14:26 天地玄黄 阅读(202) 评论(0) 推荐(0) 编辑

2011年3月25日

摘要: 程序就是要对数据进行操作。在汇编中,这些数据有在buffer中的数据,有变量数据,有在寄存器中的数据。 数据一般分为两类:全局数据和局部数据。 全局数据:在.data以及.bss中定义的数据是全局数据,在寄存器中的数据也是全局数据。 局部数据:局部数据存放在stack中,是由调用者压入栈的。 For now, simply understand that global data is define... 阅读全文

posted @ 2011-03-25 21:45 天地玄黄 阅读(1163) 评论(0) 推荐(0) 编辑

上一页 1 ··· 8 9 10 11 12 13 14 15 16 下一页