![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux /c
文章平均质量分 69
彤莉
学习、记录、分享
展开
-
GDB 程序调试
一、GDB程序调试工具的主要功能:1.启动调试程序2.让被调试的程序在指定的位置停住。3当程序被停住时,可以检查程序的状态(如变量值) 在单片机的学习中使用的IAR软件中的调试,很容易理解此三项功能。调试一个程序往往比写一个程序更重要。二、GDB的快速进阶1.编译生成可执行文件:gcc -g tst.c -o tst 2.启动GDB gdb tst 3原创 2013-05-27 11:16:13 · 627 阅读 · 0 评论 -
链表中的结构体和指针
1. 首先定义一个结构体类型。2.通过宏定义tyepedef 用s_list 代表此结构体类型。3.原创 2013-08-17 14:53:24 · 2029 阅读 · 0 评论 -
从文件系统本质看硬链接和软连接的区别
该文件的注释的参考页码书籍:linux c编程一站式学习1、 首先把一个文件作为分区格式化。然后在这个文件系统中分析硬链接和软连接的区别$ Dd if=/dev/zero of=fscount=256 bs=4k该语句详细解释在P510 2、 用常规文件制作成的文件系统也可以像磁盘分区一样mount 到某个目录。$Sudo mount –o loop fs /mount原创 2013-09-16 17:47:14 · 1307 阅读 · 0 评论 -
堆&链表&中式表达式及实现
/*program name:stack_expre.cfunction:input the expression and caculatte the valuedata:13-8-4author:tt*/#include #include /*defines a structure type*/struct s_node{ int data; struct s_node原创 2013-08-17 12:24:50 · 911 阅读 · 0 评论 -
二叉树
系统里的文件的关系可以用树来表示,文件是线性的存放在硬盘上的。可以用树表示的内容在硬盘上线性存放着。一、二叉树有三种表示方式1.二叉树数组表示法:(空间浪费大)在主程序中定义了nodelist[16] 和b_tree[16],在执行程序是输入:1 ,2,3,4,5,6时会出现错误。原因是数字依次增大时,形成的是右歪斜树。此时的二叉树空间需要到2^6-1个。分配的空间不够使,原创 2013-08-16 19:44:33 · 772 阅读 · 0 评论 -
环形队列
环形队列牺牲了一个字节front 指向的字节不能存放数据开始写的添加一个数据的子函数如下:这样程序在添加数据时不会出现错误,在添加到满时会显示“the queue is full”。在删除时就出现错误,如果添加到满,rear 和front 相等。在删除数据的函数中就直接输出“the queue is empty!”程序修改:一个小小的区别~~~各种伤肺~原创 2013-08-16 11:44:17 · 797 阅读 · 0 评论 -
Makefile 基础知识
1.目的:实现自动化编译2.过程:make命令执行=====》需要一个 Makefile 文件=======》makefile的书写规则3.实现:编写makefile 文件====》执行$make======》生成可执行文件4.makefile详细规则:4.1基本规则:target(目标文件): prerequisites(依赖的文件)command(shell原创 2013-08-10 14:32:45 · 628 阅读 · 0 评论 -
linux &静态库&动态库
linux支持两种库的类型:静态库和动态库(共享库)1. Linux静态库和动态库的命名规则:静态函数库:libxxx.a动态函数库:libxxx.so2. Gcc/g++的编译链接:通常,对函数的链接是在编译期的时候完成的,所有相关的对象文件与相关联的library被链接成一个可执行文件,这就是使用静态库的编译过程,而动态库技术:对一些库函数的原创 2013-08-08 20:28:48 · 697 阅读 · 0 评论 -
函数调用&栈
链原文接 http://blog.csdn.net/zdl1016/article/details/4139839?reload 理解调用栈最重要的两点是:栈的结构,EBP寄存器的作用。右侧的红色部分,写出了引发栈结构变化的对应的指令+| (栈底方向,高位地址) || ....................|| ...................转载 2013-08-08 14:06:21 · 536 阅读 · 0 评论 -
Linux下静态库的创建----ar命令的使用详解
点击打开链接ar命令简介: ar命令可以用来创建、修改库,也可以从库中提出单个模块。 1、如何查看一个静态库中包含那些.o文件: ar -t lib_libname.a2、ar命令的使用格式: ar 参数转载 2013-08-07 16:55:17 · 1723 阅读 · 0 评论 -
VIM命令模式与输入模式切换
vi编辑器vi是UNIX和类UNIX环境下的可用于创建文件的屏幕编辑器。vi有两种工作模式:命令模式和文本输入模式。启动vi需要输入vi,按[Spacebar]键并输入文件名后回车。切换模式键vi从命令模式切换到文本输入模式。每个键以不同方式使vi进入文本输入模式。按[ESC]键使vi从文本输入模式回到命令模式。表1列出了vi从命令模式切换到文本输入模式的命令键及其功能。表1转载 2013-07-11 11:14:26 · 1146 阅读 · 0 评论 -
unix系统接口(一)
unix操作系统通过一系列的系统调用提供服务,这些系统调用实际上是操作系统内的函数,可以被用户程序调用。借助系统调用获得最高小效率,或者是访问标准库中没有的功能。一、文件描述在unix操作系统中,所有的外围设备都被看做是文件系统中的文件,所有的输入输出都要经过文件读写来完成。就是说,通过一个单一的接口机能处理外围设备和程序之间的所有通信。通常,在读写文件之前,必须先将这个意图通知系统,原创 2013-06-29 16:04:21 · 1220 阅读 · 0 评论 -
截图软件scrot
在写笔记的时候遇到的一个小问题,怎么把程序窗口截下来.在网上找的scrot截图软件的使用整理如下: 1.安装:Fedora下 yum install scrot , Ubuntu下apt-get install scrot . 2. 抓取桌面:scrot desktop.png,该命令将当前的整个桌面抓取下来,并保存为 desktop.png 文件。可以在当原创 2013-06-21 15:26:56 · 572 阅读 · 0 评论 -
进程控制
一、进程控制理论基础1、进程是一个具有一定独立功能的程序的一次运行活动。2、特点:动态性、 并发性 、独立性、 异步性3、状态 4、进程ID进程ID:表示进程的唯一数字。父进程的ID:(PPID)启动进程用户的ID(UID)5、进程互斥若干个进程都需要使用某一共享资源时,如果只允许一个进程使用。其它进程就需要等待其资源释放。6、临界资源操作系统中原创 2013-05-29 21:15:12 · 586 阅读 · 0 评论 -
文件编程
一 、系统调用访问文件 linux中文件编程可以使用两种方法: linux 的系统调用 C语言库函数 前者依赖于linux系统,后者与操作系统是独立的。1、系统调用—创建int creat(const char *filename,mode_t mode)filename:要创建的文件名(包含路径,缺省为当前路径)mode: 创建模式原创 2013-05-29 09:43:43 · 595 阅读 · 0 评论 -
GUN make
一、make的简单介绍GUN make来构建和管理自己的的软件工程,make能够使整个软件工程的便已链接只需要一个命令就可以完成。gcc工具仅仅用于小的程序。当程序变庞大复杂时只能用make.二、具体使用1、首先命名一个文件makefile。makefile 文件描述了整个工程的编译链接等规则。2、规则:用于生成一个或者多个目标文件的格式 targets :prer原创 2013-05-28 10:19:47 · 718 阅读 · 0 评论 -
子网掩码和IP地址运算
子网掩码:作用:将某个IP地址划分成网络地址和主机地址两部分。子网掩码一旦设置,网络地址和主机地址就固定了。计算:将IP地址和子网掩码转换为二进制的形式,然后进行“与”计算。得到网络号,也就是该子网的首地址。一直纠结于为什么这么计算,现在整理下对这个计算的理解:1、 首先是子网掩码可以根据子网中的主机数得来。将主机数用二进制表示,计算二进制的个数N。把32位的原创 2013-09-17 21:48:49 · 4127 阅读 · 0 评论