摘要:
一、整体大纲 二、静态库的制作 1)命名规则 lib + 库的名字 + .a 例如:libmytest.a2)制作步骤: 1). 生成对应的.o文件 -- .c --> .o -c 2). 将生成的.o文件打包 ar rcs + 静态库的名字(libMytest.a) + 生成的所有的.o3)发布和 阅读全文
摘要:
一、整体大纲 二、gcc编译的四个阶段 阅读全文
摘要:
一、整体大纲 二、vim编辑器的使用 vi -- vim vim是从vi发展过来的一款文本编辑器 vi a.txt 前提: 安装了vim软件 工作模式: 1. 命令模式 -- 打开文件之后, 默认进入命令模式 2. 编辑模式 -- 需要输入一些命令, 切换到编辑模式 3. 末行模式 -- 在末行模式 阅读全文
摘要:
一、整体大纲 二、相关函数 1. getcwd 函数作用:获取当前目录 头文件 函数原型 参数说明: buf传出参数,路径 size缓冲区大小 返回值 成功:返回路径的指针 失败:返回NULL 2. chdir 函数作用:改变工作路径 头文件 #include <unistd.h> 函数原型 函数参 阅读全文
摘要:
一、整体大纲 二、基础知识 1. 进程相关概念 1)程序和进程 程序,是指编译好的二进制文件,在磁盘上,不占用系统资源(cpu、内存、打开的文件、设备、锁....) 进程,是一个抽象的概念,与操作系统原理联系紧密。进程是活跃(运行起来的)的程序,占用系统资源。在内存中执行。(程序运行起来,产生一个进 阅读全文
摘要:
一、整体大纲 二、线程同步 1. 同步概念 所谓同步,即同时起步,协调一致。不同的对象,对“同步”的理解方式略有不同。如,设备同步,是指在两个设备之间规定一个共同的时间参考;数据库同步,是指让两个或多个数据库内容保持一 致,或者按需要部分保持一致;文件同步,是指让两个或多个文件夹里的文件保持一致等等 阅读全文
摘要:
一、协议的概念 1. 什么是协议 从应用的角度出发,协议可理解为“规则”,是数据传输和数据的解释的规则。 假设,A、B双方欲传输文件。规定: 第一次,传输文件名,接收方接收到文件名,应答OK给传输方; 第二次,发送文件的尺寸,接收方接收到该数据再次应答一个OK; 第三次,传输文件内容。同样,接收方接 阅读全文
摘要:
整体大纲 一、套接字概念 Socket本身有“插座”的意思,在Linux环境下,用于表示进程间网络通信的特殊文件类型。本质为内核借助缓冲区形成的伪文件。 既然是文件,那么理所当然的,我们可以使用文件描述符引用套接字。与管道类似的,Linux系统将其封装成文件的目的是为了统一接口,使得读写套接字和读写 阅读全文
摘要:
高并发服务器 一、多进程并发服务器 1. 实现示意图 2. 使用多进程并发服务器时要考虑以下几点: 父进程最大文件描述个数(父进程中需要close关闭accept返回的新文件描述符) 系统内创建进程个数(与内存大小相关) 进程创建过多是否降低整体服务性能(进程调度) 3. 使用多进程的方式, 解决服 阅读全文
摘要:
一、整体大纲 二、信号详解 1. 信号的概念 信号在我们的生活中随处可见, 如:古代战争中摔杯为号;现代战争中的信号弹;体育比赛中使用的信号枪......他们都有共性: 1) 简单 2)不能携带大量信息 3)满足某个特设条件才发送。 信号是信息的载体,Linux/UNIX 环境下,古老、经典的通信方 阅读全文