Linux
Linux 系列随笔
酸辣土豆丝 iCS
既然选择了远方,便只顾风雨兼程!
展开
-
【Linux系统调用】文件编程
文件描述符:在Linux系统中,打开的文件会对应一个数字(非负整数),这个由系统分配的数字我们 称之为文件描述符(file descriptor),具体可以看下这里的:Linux中的文件描述符与打开文件之间的关系 。学习目标:1、学习系统调用的函数:open,close,read,write,creat,lseek,dup;2、编程:复制文原创 2016-10-21 19:43:54 · 625 阅读 · 0 评论 -
【Shared】动态函数库设计
引言:上节课刚学了静态函数库设计 【Static】静态函数库设计1、动态函数库:命名方式 *.so.*2、动态链接库的特点:1)程序所需的原创 2016-10-19 16:37:47 · 349 阅读 · 0 评论 -
【Static】静态函数库设计
引言:在Linux应用程序设计中需要的外部函数主要由函数库和系统调用来提供。1、Linux应用程序使用的主要函数库在目录:/lib/, /usr/lib/2、函数库分类:1)动态函数库:命名方式 *.so.*2)静态函数库:命名方式 *.a3、静态链接库的特点:1)程序所需的库函数在链接时全部被复原创 2016-10-18 21:18:24 · 480 阅读 · 0 评论 -
【Core Dump】核心转存 故障分析
引言:程序在Linux系统中运行时出错的时间并不能预测,也许在三分钟之内程序就崩溃了,也许运行一个月之后才发生错误。如果前一节课学到的GDB调试,显然调试上十天半个月是不可能的。这里我们用core dump来解决。一、Core Dump:信息转存、核心转存。core dump是一个过程,即Linux会把程序运行过程中发生异常的内存内容转存到core文件。原创 2016-10-17 21:20:17 · 2314 阅读 · 0 评论 -
【GDB】Linux下调试程序
引言:GDB是GUN发布的一款功能强大的程序调试工具。* GDB主要完成下面三个方面的功能: 1、启动被调试的程序;2、指定程序在某个位置暂停;3、当程序暂停时,可以检查程序的状态(包括变量值等)。* GDB使用方法:1、编译生成的可执行文件:gcc -g dbg.c -o dbg2、启动GDB:gdb dbg |之后就可以进行调试原创 2016-10-17 20:30:41 · 282 阅读 · 0 评论 -
【Linux信号通讯编程】信号量同步
一、进程同步一组并发进程,他们之间需要一定的执行顺序,这时需要一个先执行,另一个等待执行。这组并发的进程按照一定的顺序执行的过程称为进程间的同步。二、经典的生产者与消费者问题1、生产产品product.c#include #include #include #include #include void原创 2016-10-25 16:54:07 · 321 阅读 · 0 评论 -
【Linux信号通讯编程】信号量互斥编程
一、信号量(semaphore) 在进程互斥中,信号量主要用来保护临界资源。进程通过信号量来判断是否能够访问该共享资源。(当然,后面我们还会用来控制进程同步)。二、信号量类型1、二值信号量:信号量的取值为 0 或者 12、计数信号量:信号量的取值为任意非负数三、键值 : 文件标示符 + 项目ID1、任原创 2016-10-24 23:02:02 · 598 阅读 · 0 评论 -
【Linux】信号通讯编程
一、信号类型1、SIGKILL:杀死进程2、SIGSTOP:暂停进程3、SIGCHLD:子进程停止或结束时用来通知父进程二、函数学习1、发送信号:kill,向进程发送信号1)函数原型int kill(pid_t pid, int sig);2)所属头文件原创 2016-10-24 19:16:42 · 379 阅读 · 0 评论 -
【Linux】管道通讯
一、通讯的意义1、传输数据:进程之间的通讯2、共享资源:不同进程之间共享同一资源3、事件通知:一个进程向另一个或另一组进程发送消息通知4、进程控制:如Debug进程等需要完全控制另一个进程的执行,即能拦截进程操作并知晓其状态二、通讯的方式1、无名管道:pipe (使用文件操作函数: read, write, close),用于父子进程间的通信原创 2016-10-24 12:21:28 · 264 阅读 · 0 评论 -
【多进程】程序设计
1、获取进程ID:getpid1)函数原型pid_t getpid(void);2)所属头文件#include #include 3)返回值一般成功: 返回调用该进程的id.4)参数说明无参数#i原创 2016-10-23 16:26:04 · 294 阅读 · 0 评论 -
【Linux库函数编程】文件编程
库函数:所谓库函数,就是独立于操作系统的,为提高程序的可移植性而生的一种方式。无论在什么操作系统上都可以使用这些函数。流:上节课的 【Linux系统调用】文件编程 的操作方式为I/O文件操作,这是C提供的一种文件操作,它是通过直接存取文件来完成对文件的处理。 而今天的这课是流式文件操作,流是标准的c函数库里的一个抽象概念。当我们读写数据时,就会开启一个流,这个流可以原创 2016-10-21 21:51:03 · 370 阅读 · 0 评论 -
【Linux】时间编程
一、时间类型1、日历时间:Calendar Time,从标准时间点(1970年01月01日00:00:00)到现在经过的秒数;2、世界标准时间:Coordinated Universal Time(UTC),又称格林威治标准时间(Greenwich Mean Time,GMT)。二、目标函数原创 2016-10-22 17:03:59 · 341 阅读 · 0 评论 -
Ubuntu双系统重装win7/8后找不到系统或进入grub命令行的解决办法
灵感来自于百度知道: ubuntu系统进入GRUB后怎么修改为进入当命令行模式?一、我的问题在win7下安装了Ubuntu,这下就是双系统了。某天装其他系统手抖把C盘给覆盖了。这下直接换了win8.1. 这下找不到Ubuntu了第一次,网上找了许多方法,都是用原来的安装盘,进入试用模式,然而可能是自己笨,没把他们的方法弄明白,最后只弄出了个grub命令行幸好,在万念俱灰、准转载 2016-12-10 18:41:36 · 7118 阅读 · 0 评论