- 博客(12)
- 收藏
- 关注
原创 YouCompeletMe Install On Linux
确保vim版本不低于8.2vim --versiongit clone https://github.com/vim/vim.git
2022-06-06 21:22:24
301
原创 Linux驱动开发
目录Makefile编译脚本模块字符设备驱动Makefile编译脚本obj-m := standard_module.oKERNELDIR ?= /home/tanyaduckal/a9rootfs/linux-3.14 #需要修改成你的内核源代码路径,成功编译过的那个PWD := $(shell pwd)default: $(MAKE) -C $(KERNELDIR) M=$(PWD) modules make cleanclean: rm Module.sy..
2022-03-17 19:49:19
481
原创 【无标题】
## Qt介绍### 多平台C++图形界面应用层编程框架## 界面设计### 简单方法: 在界面设计模式下,通过拖拽基础控件进行设计。## 基础控件~~~cpp1 <QLCDNumber Class> 基础方法: display(); //显示 value(); //获取 setFixedSize();//设置固定大小 2 <QPushButton Class> 基础方...
2022-02-17 09:27:20
285
原创 linux c 网盘、文件服务器
目录一、全部文件二、部分功能效果三、客户端四、服务器五、参考文件一、全部文件./..:client server./../client:client client.c client.h downfile getfilename.c libclient.so main.c Makefile README.txt./../client/downfile:1.jpg 2.jpg 3.jpg 4.jpg 5.jpg 6.jpg a.t...
2022-02-08 19:10:16
1271
原创 Linux下基于TCP和sqlite3实现的网络词典
一、sqlite3使用:1.终端界面查看版本信息sqlite3 --version获取新版sqlite3sudo apt-get install sqlite3打开sqlite3sqlite3//打开sqlite3sqlite3 <tablename>//打开或创建tablename库文件sqlite3界面 数据库文件,以db结尾:my.db 进入数据库:sqlite3或者sqlite3 数据库文件名 ...
2022-01-21 19:48:57
2603
13
原创 Linux下基于UDP实现的聊天室
/*######################################################################### File Name: server.c# Author: tanyaduckal# mail: 2295375354@qq.com# Created Time: 2022年01月08日 星期六 15时54分17秒####################################################################.
2022-01-14 17:46:10
752
原创 进程间通信——共享内存、消息队列、信号灯集
一、共享内存共享内存是通信效率最高的进程间通信方式——内存映射(将内核空间地址映射到用户空间,访问该映射空间即相当于访问内核空间)指令 ipcs 查看系统的IPC对象二、主要函数 #include <sys/shm.h> #include <sys/types.h> #include <sys/ipc.h>/*获取key值*/ key_t ftok(const char *pathname, int
2022-01-06 11:35:02
396
原创 进程通信——信号
一、信号信号是在软件层次上对中断机制的一种模拟。在原来上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的:一个进程不必通过任何操作来等待信号的到达。信号可以之间进行用户空间进程和内核进程之间的交互,内核进程也可以利用它来通知用户空间发生了哪些系统事件。它可以在任何时候发给某一进程,而无需知道该进程的状态。如果该进程当前并未处于执行态,则该信号由内核保存起来,直到该进程恢复执行再传递给它为止;如果一个信号被进程设置为阻塞,则该信号的传递被延迟,直到其阻塞被取消时才被传递给进程。
2022-01-04 23:30:51
407
原创 进程间通信——无名管道和有名管道
一、无名管道无名管道是Linux中管道通信的一种原始方法,如图所示具有以下特点:1.只能用于具有亲缘关系的进程之间的通信(父子进程或兄弟进程)2.是一个单工的通信模式,具有固定的读端和写端3.管道也可以看成一种特殊的文件,对于它的读写也可以使用普通的read()、write()等函数。但是它不属于任何文件系统,并且只存在于内核内存中二、有名管道有名管道是无名管道的一种改进,如图所示它具有以下特点:1.它可以使两个互不相关的进程实现彼此通信2.该管道可以通过路径
2022-01-04 22:08:57
948
原创 线程间通信——互斥锁
一、互斥锁 互斥锁通过简单的枷锁方法来保证对共享资源的原子操作。互斥锁只有两种状态:上锁和解锁,可以把互斥锁看成某种意义上的全局变量。在同一时刻只能有一个线程持有某个互斥锁,拥有互斥锁的线程能够对共享资源进行操作。若线程对一个已经上锁的互斥锁加锁,该线程就会睡眠,直到其他线程释放互斥锁为止。可以说,这把互斥锁保证每个线程对共享资源按顺序进行原子操作。二、主要函数/* Initialize a mutex. */ ...
2022-01-04 20:33:30
1215
原创 线程间通信——信号量
一、信号量信号量就是操作系统中所用到的PV原子操作,它广泛用于进程或线程间的同步与互斥。信号量本质上是一个非负的整数计数器,它被用来控制对公共资源的访问。 PV原子操作主要用于进程或线程间的同步和互斥这两种典型情况。若用于互斥,几个进程(或线程)往往只设置一个信号量sem,如图1。 当信号量用于同步操作时,往往设置多个信号量,并安排不同的初始值来实现它们之间的顺序执行,它们的操作如图。二、主要函数 #include <semaphore...
2022-01-04 19:16:54
2630
原创 exec函数族
一、函数原型SYNOPSIS #include <unistd.h> extern char **environ; int execl(const char *path, const char *arg, ... /* (char *) NULL */); int execlp(const char *file, const char *arg, ... ...
2022-01-02 15:51:01
328
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人