LINUX
believe_oneself_
这个作者很懒,什么都没留下…
展开
-
GUN开发环境基础及其相关命令
这里是GUN安装的库,在UBUNTU里面已经有了GDB命令使用命令进入GDB,gdb filename使用l查看文件代码使用显示断点打入成功查看断点可以使用省略符号 i b这里可以使用省略符d进行断点删除,1表示的是之前的第几个断点,而不是断点的位置n表示一行行望下运行...原创 2019-07-28 22:31:33 · 710 阅读 · 0 评论 -
linux线程2
向线程发送信号#include<stdio.h>#include<string.h>#include<stdlib.h>#include<pthread.h>#include<signal.h>#include<errno.h>#include<unistd.h>void *thread_fun(...原创 2019-08-06 17:19:07 · 131 阅读 · 0 评论 -
linux中的目录IO
涉及到的头文件#include <sys/types.h>#include <dirent.h>目录IO文件IOopendir 只能打开目录 mkdir 创建目录open––readdir 读目录read––rewinddir 调整位置指针 telldir seekdirrewind ...原创 2019-08-01 22:37:33 · 253 阅读 · 0 评论 -
标准IO和文件IO区别
先来了解下什么是标准IO以及文件IO。标准IO:标准I/O是ANSI C建立的一个标准I/O模型,是一个标准函数包和stdio.h头文件中的定义,具有一定的可移植性。标准IO库处理很多细节。例如缓存分配,以优化长度执行IO等。标准的IO提供了三种类型的缓存。(1)全缓存:当填满标准IO缓存后才进行实际的IO操作。(2)行缓存:当输入或输出中遇到新行符时,标准IO库执行IO操作。(3)不带缓...转载 2019-08-01 20:58:01 · 332 阅读 · 0 评论 -
fwirte和fread函数
都是全缓存函数fread和fwrite函数size_t fread(void *ptr,size_t size, size_ number,FILE *stream);size_t fwrite(const void *ptr,size_t size, size_ number,FILE stream);功能:全缓存的读写函数第一个参数 buf:写的内容第四个参数 fp:写到哪里去...原创 2019-08-01 20:52:37 · 763 阅读 · 0 评论 -
linux线程
进程:一个正在执行的程序,它是资源分配的最小单位进程中事情需要按照一定的顺序逐个进行,那么如何让一个进程中的一些事情同时执行?线程:线程(thread)是包含在进程内部的顺序执行流,是进程中的实际运作单位,也是操作 系统能够进行调度的最小单位。一个进程中可以并发多条线程,每条线程并行执行不同的任 务。线程与进程的关系可以归结于以下几点:1、一个线程只能属于一个进程,而一个进程可以有多个线程...原创 2019-08-05 21:54:30 · 187 阅读 · 0 评论 -
LINUX中IPC信号灯
信号灯:多进程编程中需要关注进程间同步及互斥。同步是指多个进程为了完成同一个任务相互 协作运行,而互斥是指不同的进程为了争夺有限的系统资源(硬件或软件资源)而相互竞争 运行。信号量是用来解决进程间的同步与互斥问题的一种进程间通信机制,它是一个特殊的变 量,变量的值代表着关联资源的可用数量。若等于 0 则意味着目前没有可用的资源。信号量:根据信号量的值可以将信号量分为二值信号量和计数信号量:...原创 2019-08-05 00:50:17 · 285 阅读 · 0 评论 -
Linux消息队列
消息队列链式队列Msqid_ds 维护消息队列的结构体,队列的第一个消息指针msg_first,最后一个消息指针msg_last消息中有一个成员指针next每一个消息中包含有哪些内容:Data 数据Length 数据的长度Type 数据的类型。例如:1----voltage data2----电流数据3----有功功率消息的接收端可以根据消息的类型来...原创 2019-08-04 19:47:51 · 287 阅读 · 0 评论 -
linux共享内存
四:IPC通信IPC通信(Inter-Process Communication)三种: 共享内存、消息队列、信号灯这个IPC对象,肯定是存在于内核中。而且用户空间的文件系统中有没有IPC的文件类型?没有。有名管道为什么能实现无亲缘关系的进程之间的通信?是因为用户空间有管道这种文件类型。IPC是不是只能用于亲缘关系进程之间的通信呢?肯定不是它是怎样实现无亲缘关系之间的通信呢?也即你是...原创 2019-08-04 01:38:06 · 275 阅读 · 0 评论 -
linux信号通信
信号通信,其实就是内核向用户空间进程发送信号,只有内核才能发信号,用户空间进程不能发送信号。内核可以发送多少种信号呢?通过命令kill -l命令:kill -9 pid通过命令查看到有64种信号信号通信的框架1、信号的发送(发送信号进程):kill raise alarm2、信号的接收(接收信号进程) : pause() sleep while(1)3、信号的处理(接...原创 2019-08-03 21:39:25 · 826 阅读 · 0 评论 -
linux有名管道
正由于这无名管道的缺点,对无名管道进行改进:有名管道。所谓的有名,即文件系统中存在这个一样文件节点,每一个文件节点都有一个inode号而且这是一个特殊的文件类型:p管道类型。创建这个文件节点,不可以通过open 函数,open 函数只能创建普通文件,不能创建特殊文件(管道-mkdifo,套接字-socket,字符设备文件-mknod,块设备文件-mknod,符号链接文件-ln –s,目录...原创 2019-08-03 19:42:13 · 312 阅读 · 0 评论 -
linux进程通信
一:进程通信概述什么是进程间通信?什么是线程间通信?进程通信:在用户空间实现进程通信是不可能的,通过Linux内核通信线程间通信:可以在用户空间就可以实现,可以通过全局变量通信。有哪几种通信方式?管道通信:无名管道、有名管道(文件系统中有名)信号通信:信号(通知)通信包括:信号的发送、信号的接收和信号的处理。IPC(Inter-Process Communication...原创 2019-08-02 22:23:35 · 157 阅读 · 0 评论 -
嵌入式标准IO和文件IO
标准IO与文件IO的区别文件IO标准IO直接调用内核提供的系统调用函数,头文件是unistd.h间接调用系统调用函数,头文件是stdio.h原创 2019-07-30 01:05:19 · 343 阅读 · 0 评论 -
嵌入式之系统IO编程综述
linux 系统中,文件IO的流程文件IO有5个函数:open() read(),write(),close(),leek()。write()函数编写,它等同printf()函数,但是引用的更为直接,它直接写到内核里面是unsitd.h头文件里面包含1、open-打开或者创建一个文件open(char *, flag, mode)在fcntl.h文件中声明,函数的作用:创建或这打...原创 2019-07-30 00:45:44 · 409 阅读 · 0 评论 -
linux线程的同步
互斥量、读写锁、条件变量线程安全多线程编程环境中,多个线程同时调用某些函数可能会产生错误结果,这些函数称为非 线程安全函数。如果库函数能够在多个线程中同时执行并且不会互相干扰,那么这个库函数 就是线程安全(thread-safe)函数。什么是互斥量互斥量(Mutex),又称为互斥锁,是一种用来保护临界区的特殊变量,它可以处于锁 定(locked)状态,也可以处于解锁(unlocked)状态...原创 2019-08-07 19:27:52 · 185 阅读 · 0 评论