- 博客(9)
- 收藏
- 关注
原创 嵌入式Linux学习(九)——线程同步(下)
()/*** @brief 为rwlock指向的读写锁分配所有需要的资源,并将锁初始化为未锁定状态。读写锁的属性由attr参数指定,如果attr为NULL,则使用默认属性。当锁的属性为默认时,可以通过宏PTHREAD_RWLOCK_INITIALIZER初始化,即效果和调用当前方法并为attr传入NULL是一样的* @param rwlock 读写锁* @param attr 读写锁的属性* @return int 成功则返回0,否则返回错误码*/
2025-06-06 00:26:39
386
原创 嵌入式Linux学习(八)——线程同步(上)
***创建一个新线程*pthreadt *thread:指向线程标识符的指针,线程创建成功时,用于存储新创建线程的线程标识符*const pthread_attrt *attr:pthead_attrt结构体,这个参数可以用来设置线程的属性,*如优先级、栈大小等。如果不需要定制线程属性,可以传入 NULL,此时线程将采用默认属性。*void*(*start_routine)(void*):一个指向函数的指针,它定义了新线程开始执行时的入口点。
2025-05-27 22:03:36
917
原创 嵌入式Linux学习(七)——进程通讯(下)
***@brief 创建或打开一个已存在的 POSIX 消息队列,消息队列是通过名称唯一标识的。*@param name 消息队列的名称*命名规则:必须是以正斜杠/开头,以\0结尾的字符串,中间可以包含若干字符,但不能有正斜杠*@param oflag 指定消息队列的控制权限,必须也只能包含以下三者之一*O_RDONLY 打开的消息队列只用于接收消息*O_WRONLY 打开的消息队列只用于发送消息*O_RDWR 打开的消息队列可以用于收发消息。
2025-05-21 20:38:14
1156
原创 嵌入式Linux学习(六)——进程通讯(上)
进程之间的内存试隔离的,如果多个进程之间需要进行信息交换,通常的方法有以下几种: 此处提到的 Unix Domain Socket IPC 和信号量放在后面的章节讲解。 匿名管道是位于内核的一块缓冲区,用于进程间通信。创建匿名管道的系统调用为pipe。其声明如下: 一些后续常用到的宏定义: 2、测试代码 下面例子展示了父进程将argv[ 1 ]写入匿名管道,子进程读取并输出到控制台的过程 输出结果如下: 两个进程通过
2025-05-20 22:47:33
1085
原创 嵌入式Linux学习(五)——进程处理
在Linux系统中,当我们打开或者创建一个文件时,操作系统会提供一个文件描述符(fd),这是一个非负整数,可以通过它来进行读写等操作。然而,文件描述符本身只是操作系统为应用程序操作底层资源(如文件、套接字等)所提供的一个引用或“句柄”。通过stdin用户可以从控制台输入信息,stdout、stderr可以输出对应的信息给用户,实现用户与控制台进行交互。
2025-05-17 15:52:04
1178
原创 嵌入式Linux学习(四)
系统调用时操作系统内核提供应用程序,使其可以间接访问硬件资源的接口。测试代码和输出如下:运行过程中可进行与终端的交互,我们可以手动输入想打印的字符串。 open系统调用用于打开一个标准的文件描述符。 使用系统调用函数时需要调用unistd.h和fcntl.h这两个头文件,使用exit函数需要stdlib.h。测试代码如下: 最终编译结果 本文全部基于b站尚硅谷嵌入式Linux应用层开发总结
2025-05-12 21:48:13
307
原创 嵌入式Linux学习(三)
通过Makefile运行后会在io.txt中在“a”后接着输入。(上节有最终测试代码,其中读写权限应该为a+才能在原有文字基础上追加写)。
2025-05-11 23:13:11
622
原创 嵌入式Linux学习(二)
定义变量变量名:= 变量目标文件:所有依赖文件gcc $(变量名) -o 目标文件例:变量:=所有依赖文件目标文件:变量gcc $(变量) -o 目标文件。
2025-05-10 23:20:43
624
原创 嵌入式Linux学习记录(一)
对于程序中出现的.o文件以及为什么要使用Makefile的具体原因可以参考b站尚硅谷的讲解,本文也是基于此博主的教材对重要内容进行总结归纳,便于日后学习。在Linux主目录中新建文件夹,在vscode中打开,新建文件main .c,点击安装vscode建议安装的拓展,即可开始编写运行程序。在跟着上述博主安装虚拟机的过程中出现了黑屏的情况,可以关闭虚拟机,在虚拟机设置中打开图形3d加速即可解决。在已有文件夹下新建文件命名为Makefile,安装vscode建议安装的拓展,就可以使用Makefile。
2025-05-10 00:01:59
597
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅