
Linux
文章平均质量分 56
「已注销」
欢迎指正博客中的错误和疏漏!
所有文章随意转载交流,转载请注明出处
展开
-
【make工程管理器】linux下Make工程管理器简述_学习笔记_004
Make工程管理器 1.Make工程管理器的优越性:(1)使用 GNU 的 make 工具能够比较容易的构建一个属于你自己的工程,整个工程的编译只需要一个命令就可以完成编译、连接以至于最后的执行;(只需要一个make命令就可以完成需要对整个工程进行的操作,按Makefile中的代码自动编译,使用方便) (2)在编译较多文件的项目中,如果仅仅一个源文件改变了,make会自动找到需原创 2016-07-09 19:48:17 · 1256 阅读 · 0 评论 -
linux套接字
套接字不仅支持本地无关的两个进程之间的双向通信,而且支持跨网络的,运行在不同机器的进程间的通信。可以通过int socket(int domain,int type,int protocol)建立套接字,通过int close(int socket)关闭(销毁)套接字,通过int shutdown(int socket,int how)断开套接字的连接。建立套接字原创 2016-11-10 00:23:54 · 272 阅读 · 0 评论 -
生产者消费者问题
【问题描述】一群生产者进程在生产产品,一群消费者进程在消费产品。为了生产者消费者进程之间能够并发执行,在两者之间设置了一个具有n个缓冲区的缓冲池,每次生产的进程都会被放入到缓冲池中,消费者每次从缓冲池中取走产品。【分析】 这个过程中既有互斥关系,又有同步关系。互斥关系:每一时刻只有一个进程在访问 缓冲区(或放数据或取数据)。同步关系:当转载 2016-10-29 08:13:31 · 471 阅读 · 0 评论 -
IO多路复用之select函数详解
IO复用 我们首先来看看服务器编程的模型,客户端发来的请求服务端会产生一个进程来对其进行服务,每当来一个客户请求就产生一个进程来服务,然而进程不可能无限制的产生,因此为了解决大量客户端访问的问题,引入了IO复用技术。 即:一个进程可以同时对多个客户请求进行服务。 也就是说IO复用的“介质”是进程(准确的说复用的是select和poll,因为进程也是靠调用select和p转载 2016-10-29 08:09:32 · 764 阅读 · 0 评论 -
守护进程
Linux系统中的守护进程是一种运行在后台的进程。而守护进程,也就是通常说的Daemon进程。它通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。linux大多数服务器进程就是用守护进程实现的,例如web服务。守护进程常常在系统引导装入时启动,在系统关闭时终止。守护进程最大的特点是运行在后台,与终端无连接,除非特殊情况下,用户不能操作守护进程。 在Linux中,每一个系统与转载 2016-10-18 23:58:35 · 263 阅读 · 0 评论 -
基于sqlite3的通讯录(c语言)
/**************************************************************************** File Name: 4.address_book.c* Function : 1) * 2) * Author : Xubing * Created Time: 2016年11月04日*********原创 2016-11-07 23:25:41 · 734 阅读 · 0 评论 -
进程通信的一些基本概念
1.目的:(1)数据传输:一个进程需要将他的进程数据发送给另一个进程。(2)资源共享:多个进程之间共享同样的资源。(3)通知事件:一个进程需要向另一个或一组进程发送消息,通知他们发生了某种事件。(4)进程控制:有些进程希望完全控制另一个进程的执行(如debug进程),此时控制进程希望能够拦截另一个进程的所有操作,并能够及时知道它的状态改变。 2.管道通信(1)管道是单向原创 2016-10-26 23:58:39 · 628 阅读 · 0 评论 -
信号量相关函数整理
信号量相关函数整理 1.semget作用:创建信号量原型:int semget(key_t key, int nsems, int semflg)参数:key 信号量键值 nsems 需要创建的信号量数目,通常取一个 semflg 同open一样的权限返回值:成功信号量标识符 出错 -1原创 2016-10-25 19:34:31 · 1215 阅读 · 0 评论 -
消息队列相关函数总结
消息队列1.msgget作用:创建消息队列原型:int msgget(key_t key, int msgflag)参数:key:键值 IPC_PRIVATE msgflag:权限 返回值:成功:消息队列ID 出错:-1头文件:sys/tpes.j sys/ipc.h原创 2016-10-24 23:30:43 · 1505 阅读 · 0 评论 -
验证linux下线程的同步运行
在linux下创建两个线程,验证两个线程为同步运行/**************************************************************************** File Name: 1.pth_create.c* Function : 1) * 2) * Author : Xubing * Created Ti原创 2016-11-04 00:14:44 · 373 阅读 · 0 评论 -
共享内存
1.共享内存a.操作步骤(1)创建共享内存(2)映射共享内存(3)分离共享内存(4)控制、删除共享内存 b.相关函数1.shmget作用:在内核中创建共享内存原型:int shmget(key_t key, size_t size, int shmflg)参数:key键值 size创建内存的大小 shmfl原创 2016-10-23 22:12:38 · 279 阅读 · 0 评论 -
进程间通信相关函数
一、进程间的通信 1.pipe功能:创建无名管道原型:int pipe(int fds[2])参数:新建两个文件描述符,由fds数组返回 fds[0]:用于读管道 fds[1]:用于写管道头文件:unistd.h返回值:成功:0 失败:-1 2.mkfifo功能:创建有名原创 2016-10-22 23:54:17 · 341 阅读 · 0 评论 -
linux下sqlite3在c语言中运用的函数总结
数据库相关函数: 1.sqlite3_open作用:打开一个数据库原型:int sqlite3_open(const char *dbname, sqlite3 **db)参数:dbname:数据库名称 db:数据库的句柄返回值:成功:SQLITE_OK头文件:#include 2.sqlite3_close作用:关闭一个数据库原创 2016-11-03 00:21:13 · 674 阅读 · 0 评论 -
linux下sqlite3在c语言中应用实例
/**************************************************************************** File Name: 1.sqlite3.c* Description : 1)数据插入,删除,清空 * 2) * Author : Xubing * Created Time: 2016年10月3原创 2016-11-03 00:09:27 · 5026 阅读 · 0 评论 -
【linux gcc】gcc编译器相关(7月6日学习总结)_学习笔记_003
一、gcc命令使用格式:gcc [选项] [文件] [选项] [文件] -E对源文件进行预处理-c对源文件进行编译或汇编-S对源文件进行编译-o file 输出目标文件file-w屏蔽所有警告信息原创 2016-07-07 11:50:57 · 523 阅读 · 0 评论 -
【linux c】c语言源程序到最终生成可执行文件的过程_学习笔记_001
在使用gcc编译程序时,编译过程可以被细分为四个阶段:·预处理·编译·汇编·链接 1.预处理阶段 预处理功能(头文件、宏定义、条件编译都在预处理阶段完成)·将源文件中以”include”格式包含的文件复制到编译的源文件中。·用实际值替换用“#define”定义的字符串。·根据“#if”后面的条件决定需要编译的代码。 2.编译、优化阶段原创 2016-07-06 20:18:07 · 3472 阅读 · 0 评论 -
【linux GDB】linux下GDB调试器_学习笔记_003
GDB调试器 1.GDB主要完成以下三方面的功能:(1)启动被调试程序;(2)让被调试的程序在指定位置停住;(3)当程序被停住时,可以检查程序状态——变量值。2.调试步骤:以如下程序为例(文件名为demo.c)(1)gcc –g demo.c –o demo(生成可调试文件)(2)gdb demo(启动调试文件)在(gdb)光标处输入原创 2016-07-09 09:55:25 · 395 阅读 · 0 评论 -
线程、线程信号量等常用函数小结
线程: 1.pthread_create作用:创建一个线程原型:int pthread_create(pthread_t *thread, pthread_attr_t *attr, (void *)(start_routine)(void *), (void *arg))参数:thread:线程标识符 attr: 线程属性原创 2016-10-29 21:03:00 · 302 阅读 · 0 评论