- 博客(10)
- 收藏
- 关注
原创 学习进程时间获取的笔记
使用clock和times来获取进程时间源于linux系统编程手册#include<stdio.h>#include<time.h>#include<sys/times.h>#include<stdlib.h>#include<unistd.h>static void displayProcessTimes(const char *msg){ struct tms t; clock_t clockTime; static
2022-02-03 12:20:04
689
转载 转发:进程通讯使用场景
前言经常被问到进程间通信的方式,这个可以答上来,但是问了一下各个通信方式的使用场景,就不清楚了。这里对进程间通信(IPC,InterProcess Communication)做一个简单的记录IPC方式管道通信无名管道半双工,只能在具有公共祖先的两个进程之间使用(例如父子进程)。有名管道(FIFO)可以在不相关的程序之间交换数据。FIFO其实是一种文件类型。FIFO主要有两种用途:· shell命令使用FIFO将数据从一条管道传送到另一条管道时,无须创建中间的临时文件。· 客户进程-
2021-07-25 10:42:16
208
STM32 SPI
SPI原理笔记图一STM32的SPI引脚有名称分别为 MOSI、MISO、SCK、NSS。MOSI:主机输出数据给从机引脚MISO:主机接受从机数据引脚SCK:时钟线NSS:片选信号(一般使用软件的方式驱动NSS不适用硬件控制)STM32作为主机发送数据时,数据会存储在发送缓冲区当中送到移位寄存器,移位寄存器将数据一位一位发送出去。STM32作为接受数据方时,通过移位寄存器一位一位接收数据,接收完毕将数据送到接收缓冲区中。时钟信号:通过波特率发生器选择速率。图一右边为整体逻辑控制分
2021-06-21 20:30:09
1927
原创 stat函数的文件状态查询代码示例
stat函数的文件状态查询代码示例#include<stdio.h>#include<time.h>#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>int main(int argc,char *argv[]){ struct stat buf; int n; time_t t; struct tm *tp; if(argc!=2)
2021-04-17 00:10:07
161
转载 C语言stat()函数:获取文件状态
C语言stat()函数:获取文件状态C语言stat(),fstat()函数:获取文件状态转载来源:http://see.xidian.edu.cn/cpp/html/326.html相关函数:fstat, lstat, chmod, chown, readlink, utime头文件:#include <sys/stat.h> #include <unistd.h>定义函数:int stat(const char * file_name, struct stat *
2021-04-17 00:05:41
365
原创 全缓冲与行缓冲
全缓冲全缓冲:在使用fopen时就是全缓冲状态,在使用fwrite会将字符写入缓冲区当中。如果强制将缓冲区冲刷可以将字符强制写入文件当中。代码如下#include<stdio.h>#define N 60int main(){ FILE* fps; char buf[N]; fps = fopen("./test","w"); fputc('a',fps); while(1); return 0;}此时文件还未写入#include<stdio
2021-04-16 20:15:11
768
转载 用户态和内核态之间的切换
用户态和内核态之间的切换切换方式从用户态到内核态切换可以通过三种方式,或者说会导致从用户态切换到内核态的操作:系统调用,这个上面已经讲解过了,在我公众号之前的文章也有讲解过。其实系统调用本身就是中断,但是软件中断,跟硬中断不同。系统调用机制是使用了操作系统为用户特别开放的一个中断来实现,如 Linux 的 int 80h 中断。异常:如果当前进程运行在用户态,如果这个时候发生了异常事件,会触发由当前运行进程切换到处理此异常的内核相关进程中外围设备中断:外围设备完成用户请求的操作之后,会向CPU
2021-03-19 23:34:07
2042
转载 七层网络模型与TCP/IP四层结构
OSI七层网络模型OSI 模型显然、如果一个东西想包罗万象、一般时不可能的;在实际的开发应用中一般时在此模型的基础上进行裁剪、整合!七层模型介绍物理层:物理层负责最后将信息编码成电流脉冲或其它信号用于网上传输;eg:RJ45等将数据转化成0和1;数据链路层:数据链路层通过物理网络链路提供数据传输。不同的数据链路层定义了不同的网络和协议特征,其中包括物理编址、网络拓扑结构、错误校验、数据帧序列以及流控;可以简单的理解为:规定了0和1的分包形式,确定了网络数据包的形式;网络层网络层负责在源
2021-03-03 19:07:50
425
1
原创 TCP/IP的三次握手四次挥手
TCP/IP笔记一般可用的虚拟端口:1024-49151。虚拟端口范围是:1-65535TCP/IP协议的特点:1、面向连接2、可靠的3、基于字节流传输的协议4、效率较慢5、具有端口号的概念6、只可点对点7、使用系统资源较多UDP协议的特点:1、无连接的2、不可靠的3、面向数据报得传输层协议4、实时性好5、具有端口号的概念6、可一对多,多对一,多对多交互通信7、使用系统资源少TCP/IP三次握手 客户端发送链接请求,(1)发送SYN=1;seq=x;服务端接收到后
2021-03-03 18:06:25
137
2
原创 简单的工厂模式
简单的工厂模式工厂模式:相当于造一个工厂,里面有你所需要的功能,当我们需要工厂里面某一样的东西时,加入链表当中就行。当你需要使用某样功能时,在链表里索引使用。===================================================================dog.c文件#include"animal.h"void dogEat(){ printf("狗吃肉\n");}void dogBeat(){ printf("咬你\n");}struct
2021-02-25 17:39:36
106
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅