linux
文章平均质量分 54
sparkenglish
这个作者很懒,什么都没留下…
展开
-
GNU LD链接器的使用
概述********'ld'把一定量的目标文件跟档案文件连接起来,并重定位它们的数据,连接符号引用.一般,在编译一个程序时,最后一步就是运行'ld'.'ld'能接受连接命令语言文件,这是一种用AT&T的连接编辑命令语言的超集写成的文件,用来在连接的整个过程中提供显式的,全局的控制.本版本的'ld'使用通用BFD库来操作目标文件.这就允许'ld'读取,合并,写入目转载 2012-03-01 14:44:18 · 2329 阅读 · 0 评论 -
Android Looper用法及原理
Looper是android为线程间异步消息通信提供的一种机制,利用Looper机制可以方便我们实现多线程编程时线程间的相互沟通。当然,如果不用Looper而采用其它的线程间通信方式(像管道,信号量,共享内存,消息队列等)也是一样的。Looper的实现是利用消息队列的方式,为用户封装了一层API,用户不需要考虑互斥加锁的问题,方便用户的使用。 Looper的使用方法: 如果原创 2017-01-25 15:00:19 · 28089 阅读 · 1 评论 -
大小端(big/little endian)
1.Endian的由来 Endian这个词最早出自于乔纳森·斯威夫特所写的《格列佛游记》,书中根据人们吃 鸡蛋的方式将人分为两类:一类为从圆头打开鸡蛋开始吃的人(big endian);一类为从尖头打开鸡蛋开始吃的人(little endian)。《格列佛游记》中描述的小人国因为吃鸡蛋的方式不同而发生内战,此虚构的故事实为讽刺当时的英国议会中毫无意义的党派斗争,统治集团的原创 2015-12-13 22:03:24 · 826 阅读 · 0 评论 -
linux创建新进程的过程
linux系统中创建新进程使用fork()系统调用。所有进程都是通过复制进程0而得到的。都是进程0的子进程。linux创建新进程的过程:1.系统首先在任务数组中找出一个还没有被任何进程使用的空项。如果数组已满,没有空项,则fork系统调用出错返回。系统将会为新建进程在内存区中分配一页内存来存放其任务数据结构信息,并复制当前进程任务数据结构中的所有内容作为新进程任务数据结构的模板。2.对复制转载 2014-01-04 21:41:06 · 1034 阅读 · 0 评论 -
指针数组与数组指针
1.指针数组顾名思义,指针数组就是指针的数组,数组中的元素类型是指针类型的,比如:int * a[3];定义了一个含有3个指针的数组,a[0],a[1],a[2]都是指向整形的指针2.数组指针数组指针就是指向数组的指针比如: int a[2][3]={1,8,3,4,5,6}; int (*P)[2][3]=&a;p就是一个指向一个数组a的指针;看一下下面原创 2012-09-25 09:40:05 · 429 阅读 · 0 评论 -
AT&T 跟intel汇编之间的区别
原文http://blog.csdn.net/bigloomy/article/details/6581754AT&T汇编和8086汇编语言虽然两者很相似,但是还是不能根据8086的语法规则来读AT&T汇编的吧,所以还是要看看AT&T汇编的语法规则,因为在读内核代码时,跟硬件打交道的部分代码是用AT&T汇编编写的,所以不可避免的会遇到AT&T汇编,下面先来看看AT&T汇编的语法规则吧。一、转载 2012-06-18 21:31:04 · 618 阅读 · 0 评论 -
vim批量替换
转自:http://blog.csdn.net/converse/archive/2007/03/01/1518028.aspx:s/XXX/YYY/g其中XXX是需要替换的字符串,YYY是替换后的字符串以上这句只对当前行进行替换,如果需要进行全局替换,则要:%s/XXX/YYY/g如果需要对指定部分进行替换,可以用V进入visual模式,再进行:s/XXX/YYY/g转载 2012-06-16 18:04:51 · 442 阅读 · 0 评论 -
ubuntu下svn的使用
ubuntu下安装subversion客户端:sudo apt-get install subversion subversion-tools详细请看 http://www.subversion.org.cn/svnbook/1.1/index.html svn子命令1、检出svn co http://路径(目录或文件的全路径) [本地目录全路径] --usern转载 2012-05-21 21:23:01 · 437 阅读 · 0 评论 -
vim高级技巧——使用vim对比两个文件
原文:http://hi.baidu.com/flost_li/blog/item/acbccd2355952d47935807d0.html使用方法:1:使用vim -d file1 file2 直接打开两个文件对比 或:使用vim file1打开第一个文件,然后使用vert diffsplit file2打开第二个文件进行对比; (vert表示垂直分割窗转载 2012-05-16 08:53:54 · 1280 阅读 · 0 评论 -
堆栈详解
原文出处:http://www.cnblogs.com/guanjie20/archive/2009/03/12/1410067.html什么是堆栈 在计算机领域,堆栈是一个不容忽视的概念,但是很多人甚至是计算机专业的人也没有明确堆栈其实是两种数据结构。 堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。 要点:转载 2012-04-29 19:39:38 · 466 阅读 · 0 评论 -
makefile 自动化变量
$@代表规则中的目标文件名。如果目标是一个文档(Linux中,一般称.a文件为文档),那么它代表这个文档的文件名。在多目标的模式规则中,它代表的是哪个触发规则被执行的目标文件名。$%规则的目标文件是一个静态库文件时,代表静态库的一个成员名。例如,规则的目标是“foo.a(bar.o)”,那么,“$%”的值就为“bar.o”,“$@”的值为“foo.a”。如果目标不是函数库文件,其值为空转载 2012-03-16 15:11:02 · 435 阅读 · 0 评论 -
两个进程访问同样的逻辑地址物理地址为何不同
1.Linux 段表In uniprocessor systems there is only one GDT, while in multiprocessor systems there is one GDT for every CPU in the system. 2.Linux页表each process has its own Page Global Directo原创 2017-09-28 15:46:38 · 3262 阅读 · 0 评论