linux
小-豪-豪
这个作者很懒,什么都没留下…
展开
-
项目:基于自主web服务器的在线大整数乘法运算
一、项目背景 http协议被广泛使用,从移动端到pc端浏览器,http协议无疑是打开互联网应用窗口的重要的协议,http在网络应用层中的地位不可撼动,是能准确区分前后台的重要协议。做这个项目可以进一步加深对http协议的理解,并且帮助我理解常见互联网应用行为,从零开始完成web服务器的开发,进一步熟悉网络编程。二:项目准备1、项目实现目标 (1) 从零开始完成web服务器开发 (2) 基于所开发的web服务器实现在线大整数乘法运算功能2、开发环境 (1) CentOS 7 (2原创 2020-08-12 12:40:41 · 425 阅读 · 0 评论 -
linux中的压缩解压命令(centos 7)
1、zip命令zip命令将目录或文件压缩成zip格式,使用格式如下:通过zip压缩文件的目标文件可以不写指定扩展名,默认扩展名为zip。在这里插入代码片压缩文件:zip -r(必须加此参数) 目标文件 源文件解压文件:unzip -d 解压后目录文件 压缩文件注意:目标文件可加zip也可不加,-d后面跟解压到的目的地,没有-d默认为当前目录zip参数:-r 递归处理,将指定目录下...原创 2020-04-01 21:30:05 · 1154 阅读 · 0 评论 -
vim常用命令
1、批量注释【Ctrl】+【V】进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I(【Shift】+【I】),再插入注释符,比如"//",再按【Esc】,就可以全部注释了。2、批量去掉注释【Ctrl】+【V】进入列编辑模式,向下或向上移动光标,选中需要注释的列,然后按【D】,就可以删掉注释符号。...原创 2020-02-25 09:10:35 · 139 阅读 · 0 评论 -
用命名管道实现server和client之间的通信
匿名管道只能用于具有亲缘关系的进程之间进行通信,通常,一个管道由一个进程创建,然后该进程调用fork,此后父子进程之间就可以用管道通信了。如果我们想在不相关的进程之间交换数据,可以使用FIFO文件来做这项工作,它经常被称为命名管道。命名管道是一种特殊类型的文件(管道类型)。1、Makefile.PHONY:allall:client serverclient:client.c gcc...原创 2020-03-02 17:20:29 · 1609 阅读 · 0 评论 -
动态库和静态库
静态库:程序在编译链接的时候把库的代码链接到可执行文件中,程序运行的时候将不再需要静态库。动态库:程序在运行的时候才去链接动态库的代码,多个程序共享使用库的代码。一个动态链接的可执行文件仅仅包含它用到的函数的入口地址的一个表,而不是外部函数所在目标文件的整个机器码。在可执行文件开始运行以前,外部函数的机器码由操作系统从磁盘上的该动态库中复制到内存中,这个过程称为动态链接。动态库可以在多个进程间共...原创 2020-03-03 16:00:30 · 205 阅读 · 0 评论 -
因没有安装静态库报错:/bin/ld: cannot find -lc
linux默认使用的是动态链接,当我们使用-static参数时可能会因为没有安装静态库而报错,如下图所示:解决方法:用下面的命令安装静态库sudo yum install glibc-static安装完成后,编译运行代码:...原创 2020-03-03 16:15:32 · 525 阅读 · 0 评论 -
自己编程实现kill命令(环境:centos7)
实现代码如下:mykill.c#include <stdio.h>#include <signal.h>int main(int argc, char *argv[]){ if (argc != 3) { printf("Usage: %s pid sigid\n", argv[0]); return 1; } //atoi(argv[1])将需要...原创 2020-03-09 11:29:19 · 586 阅读 · 0 评论 -
分析为什么加锁和解锁操作是原子的
临界资源:多线程执行流共享的资源就叫做临界资源。临界区:每个线程内部,访问临界自娱的代码,就叫做临界区。互斥:任何时刻,互斥保证有且只有一个执行流进入临界区,访问临界资源,通常对临界资源起保护作用。原子性:不会被任何调度机制打断的操作,该操作只有两态,要么完成,要么未完成。大部分情况,线程使用的数据都是局部变量,变量的地址空间在线程栈空间内,这种情况,变量归属单个线程,其他线程无法获得这种...原创 2020-03-24 15:34:05 · 856 阅读 · 0 评论 -
Linux标准输入、标准输出和标准错误重定向
文件描述符Shell会自动为我们打开和关闭0、1、2这三个文件描述符,我们不需要显式地打开或关闭它们。标准输入是命令的输入,默认指向键盘;标准输出是命令的输出,默认指向屏幕;标准错误是命令错误信息的输出,默认指向屏幕。标准输入是文件描述符0。它是命令的输入,缺省是键盘,也可以是文件或其他命令的输出。标准输出是文件描述符1。它是命令的输出,缺省是屏幕,也可以是文件。标准错误是文件描述符2。这...原创 2020-03-28 20:39:31 · 561 阅读 · 0 评论