2015年1月18日
摘要: [cpp]view plaincopy#include#include#defineINT_BY_BIT32#defineMASK0x1F#defineSHIFT5#defineN1000000inta[N/INT_BY_BIT+1];voidset_bit(intx){a[x>>SHIFT]|=1... 阅读全文
posted @ 2015-01-18 20:14 知了112 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 归并排序点击打开链接[cpp]view plaincopy//将有二个有序数列a[first...mid]和a[mid...last]合并。voidmergearray(inta[],intfirst,intmid,intlast,inttemp[]){inti=first,j=mid+1;intm... 阅读全文
posted @ 2015-01-18 20:13 知了112 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 二叉搜索树(一)概念一个二叉搜索树是一个节点有序的二叉树,(1)根的左分支节点值都小于根节点的值(2)右分支节点值都大于根节点值(3)所有子树也都是二叉搜索树自平衡二叉搜索树平衡二叉树:一个所有叶子节点的深度差不超过1的二叉搜索树自平衡二叉搜索树:是指其操作都试图维持平衡的二叉搜索树红黑树红黑树是一... 阅读全文
posted @ 2015-01-18 20:12 知了112 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 以下是用C语言实现的一个栈的结构:定义一个节点结构[cpp]view plaincopytypedefstructNode{intdata;structNode*p;}NODE,*PNODE;定义栈的结构体[cpp]view plaincopytypedefstructStack{PNODEtop;... 阅读全文
posted @ 2015-01-18 20:11 知了112 阅读(151) 评论(0) 推荐(0) 编辑
摘要: (1)二叉树的概念二叉树(Binary Tree)是个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成。当集合为空时,称该二叉树为空二叉树。满二叉树:在一棵二叉树中,如果所有分支结点都存在左子树和右子树,并且所有叶子结点都在同一层... 阅读全文
posted @ 2015-01-18 20:10 知了112 阅读(208) 评论(0) 推荐(0) 编辑
摘要: [cpp]view plaincopytypedefstructNODE{structNODE*fwd;structNODE*bwd;intvalue;}Node;双链表的根节点的bwd指针指向双链表的最后一个节点,fwd指针指向双链表的第一个节点,双链表的value字段为空以下程序是将一个值插入到... 阅读全文
posted @ 2015-01-18 20:09 知了112 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 一,常见的信号的含义SIGHUP (1) (POSIX) [终止]用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联SIGINT (2) (ANSI) [终止]程序终止(interrupt)信号, 在用户键入IN... 阅读全文
posted @ 2015-01-18 19:56 知了112 阅读(419) 评论(0) 推荐(0) 编辑
摘要: linux elf文件格式浅谈Linux的可执行文件格式ELFLinux中ELF格式文件介绍 阅读全文
posted @ 2015-01-18 19:55 知了112 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 1,GNU Tools点击打开链接各个GNU工具详细解释 阅读全文
posted @ 2015-01-18 19:54 知了112 阅读(117) 评论(0) 推荐(0) 编辑
摘要: linux内核调试常见方法1,可能导致kernel panic的原因有:ARM捕捉到的异常 (KE) 指令异常:程序跑飞,可能跑到数据区里执行 访问无效地址:执行存取指令时抛出异常(访问了kernel space没有映射的内存)代码主动发出的异常 (KE) 调用BUG()/BUG_ON()函数软件卡... 阅读全文
posted @ 2015-01-18 19:53 知了112 阅读(2115) 评论(0) 推荐(0) 编辑
摘要: 1,android debuggerd学习android debuggerd进程位于bionic/linker/debugger.c文件,system/core/debugger/目录下。android user thread发生异常的过程,第一步,发生异常的thread被kernel扑捉到,ker... 阅读全文
posted @ 2015-01-18 19:52 知了112 阅读(366) 评论(0) 推荐(0) 编辑
摘要: GDB学习点击打开链接比较详细的gdb命令gcc编译的程序要带 -g 参数,要想运行准备调试的程序,可使用run(r)命令,在它后面可以跟随发给该程序的任何参数其它相关备忘如何在gdb下调用shell命令:答:比如要查看当前目录,只要输入 shell pwd就好了单步调试的一些相关命令答:step ... 阅读全文
posted @ 2015-01-18 19:51 知了112 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 1,谷歌提供的arm-linux-androideabi-addr2line工具学习点击打开链接点击打开链接2,哪些情况会发生Native exception(1)代码主动发生异常,调用abort()函数。描述:abort()函数首先解除进程对SIGABRT信号的阻止,然后向调用进程发送该信号。ab... 阅读全文
posted @ 2015-01-18 19:49 知了112 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 1,strace学习点击打开链接strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,通过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。strace使用参数-p 跟踪指定的进程-f 跟踪由for... 阅读全文
posted @ 2015-01-18 19:48 知了112 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 1,使用valgrind工具valgrind使用介绍valgrind官网如果要使用图形化的界面,要安装QT,工具名字是valkyrie 通过top命令,/proc/meminfo看总内存,看每个进程使用的内存 在 Linux 平台可以用 ps 命令,来监视内存的使用,比如下面的命令 (观测指定进程的... 阅读全文
posted @ 2015-01-18 19:47 知了112 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 1,系统默认是不产生coredump文件的,需要用以下命令使系统产生coredump文件查看core文件的限制,此时为0,即不成生core文件ulimit -c0打开core文件的限制,不限制core文件的大小,使程序可以产生core文件ulimit -c unlimitedulimit -cunl... 阅读全文
posted @ 2015-01-18 19:46 知了112 阅读(1233) 评论(0) 推荐(0) 编辑
摘要: linux内核————队列linux内核——队列定义:[cpp]view plaincopystruct__kfifo{unsignedintin;//入队偏移,写索引unsignedintout;//出队偏移,读索引unsignedintmask;unsignedintesize;void*dat... 阅读全文
posted @ 2015-01-18 19:44 知了112 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 1,如何禁止当前CPU上的所有中断local_irq_save()和local_irq_restore()函数,[cpp]view plaincopyvoidlocal_irq_save(unsignedlongflags);voidlocal_irq_disable(void);2,目前没有方法禁... 阅读全文
posted @ 2015-01-18 19:43 知了112 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 点击打开链接一,linux软中断的概念软中断(softirq)常常表示可延迟函数的所有种类,目前linux上使用的软中断个数是有限的,linux最多注册32个,目前使用了10个,在interrupt.h中定义,中断上下文:表示内核当前正在执行一个中断处理程序或者一个可延迟函数。软中断(即使同一类型的... 阅读全文
posted @ 2015-01-18 19:42 知了112 阅读(2781) 评论(0) 推荐(0) 编辑
摘要: 1,linux各个内核配置选项的含义linux各个内核配置选项含义2,make menuconfig命令的使用Y表示加载,N表示不加载,M表示的是作为模块的方式载入内核。3,以模块方式载入的时候如何动态加载如何动态加载模块 阅读全文
posted @ 2015-01-18 19:41 知了112 阅读(587) 评论(0) 推荐(0) 编辑