09 2023 档案

摘要:一、进程间通信-socket套接字 基本特征 socket是一种接口技术,被抽象了一种文件操作,可以让同一计算机中的不同进程之间通信,也可以让不同计算机中的进程之间通信(网络通信) 本地进程间通信编程模型: 进程A 进程B 创建socket对象 创建socket对象 准备通信地址(本地socket文 阅读全文
posted @ 2023-09-12 08:50 冲他丫的 阅读(12) 评论(0) 推荐(0) 编辑
摘要:一、基本概念 什么是进程间通信: 是指两个或多个进程之间需要协同工作、交互数据的过程,因为进程之间是相互独立工作的,为了协同工作就需要进行通信来交互数据 进程间通信的分类: 简单的进程间通信: 信号(携带附加信息)、文件、环境变量、命令行参数等 传统的进程间通信: 管道文件(有名管道、匿名管道) X 阅读全文
posted @ 2023-09-10 14:56 冲他丫的 阅读(29) 评论(0) 推荐(0) 编辑
摘要:一、进程的基本概念 1、进程与程序 程序是存储在磁盘上的可执行文件,程序被加载到内存中开始运行称为进程,一个程序可以同时加载成多个进程,进程就是处于活动状态下的程序 2、进程的分类 进程根据功能不同一般分为三种类型:交互进程、批处理进程、守护进程 交互进程:由一个shell终端启动的进程,在运行过程 阅读全文
posted @ 2023-09-09 21:19 冲他丫的 阅读(42) 评论(0) 推荐(0) 编辑
摘要:一、基本概念 1、中断 当进程接收到消息后中止当前正在进行进程,转而去执行其它任务,等其它任务执行结束后再返回刚刚中止的位置,可以继续往下运行,这种执行模式称为中断 中断分为硬件中断、软件中断,硬件中断是由硬件设备引发的、软件中断是执行了中断指令引发 2、信号 信号是一种软件中断,由操作系统发出,进 阅读全文
posted @ 2023-09-09 16:53 冲他丫的 阅读(22) 评论(0) 推荐(0) 编辑
摘要:一、一切皆文件 Linux/UNIX操作系统把所有的服务、设备、协议都抽象成文件的形式,提供了一套统一而简单的文件IO的系统调用,简称系统的文件IO 也就是说在UNIX\Linux中任何对象都可以被当做是某种特殊的文件,都可以像访问文件一样,访问这些对象 通过ls -l命令可以查看文件属性信息,其中 阅读全文
posted @ 2023-09-09 16:48 冲他丫的 阅读(56) 评论(0) 推荐(0) 编辑
摘要:一、内存管理 用户层 STL 智能指针/容器 自动分配、释放 调用C++ C++ new/delete 调用C C malloc/free 调用POSIX\Linux POSIX brk/sbrk 调用内核 Linux mmap/munmap 调用内核 系统层 Kernal kmalloc/vmal 阅读全文
posted @ 2023-09-09 16:48 冲他丫的 阅读(45) 评论(0) 推荐(0) 编辑
摘要:通用链表 能够存储任意类型的数据到链表中,并提供对应的操作 万能指针 void* C语言中任意类型的指针可以转换成void*类型 void*类型指针可以转换成任意类型指针 节点: void* ptr; // 数据域 指针域; 链表结构: 头指针 数量 核心点: 1、void* 确保能存储任意类型数据 阅读全文
posted @ 2023-09-09 16:46 冲他丫的 阅读(9) 评论(0) 推荐(0) 编辑
摘要:一、条件编译 根据条件(表达式的值或者特定的宏的值)决定让代码是否参与最终的编译 查看预处理的结果: gcc -E code.c 把预处理的结果显示到终端 gcc -E code.c -o code.i 把预处理的结果存储到.i预处理文件 1、常见的条件编译指令 指令 #if 如果条件为真,则执行相 阅读全文
posted @ 2023-09-09 10:27 冲他丫的 阅读(105) 评论(0) 推荐(0) 编辑
摘要:一、文件的分类: 文本文件:是人能看得懂的文件,存储的是字符符号的ASCII码的二进制 '2' '5' '5' 二进制文件:存储的是数据的补码二进制 255 1111 1111 二、文件IO: fopen FILE *fopen(const char *path, const char *mode) 阅读全文
posted @ 2023-09-09 10:26 冲他丫的 阅读(17) 评论(0) 推荐(0) 编辑
摘要:一、库: 库文件是目标文件的集合,可以被其他代码调用,把代码封装成库文件后方便使用、方便管理,安全性高、保密性强 静态库: 就是目标文件的集合,当调用静态库时,编译器会把静态库的所有的二进制指令拷贝到最后的可执行文件中 优点: 运行速度比共享库要快,运行时不需要依赖静态库文件。(它把通用功能模块的多 阅读全文
posted @ 2023-09-09 09:22 冲他丫的 阅读(15) 评论(0) 推荐(0) 编辑
摘要:list_queue.h #ifndef LIST_QUEUE_H #define LIST_QUEUE_H #include <stdio.h> #include <stdlib.h> #include <stdbool.h> #define TYPE int // 节点结构 typedef st 阅读全文
posted @ 2023-09-09 09:21 冲他丫的 阅读(8) 评论(0) 推荐(0) 编辑
摘要:表: 顺序(数组) 、 链式(链表) # 一、顺序表 - 数据项: 存储元素的内存首地址 表的容量 元素的数量 - 运算: 创建、销毁、清空、插入、删除、访问、查询、修改、排序、遍历 - 注意: 1、要确保数据元素的连续性 2、不能越界 - array 顺序表 ```c #include #incl 阅读全文
posted @ 2023-09-08 08:56 冲他丫的 阅读(18) 评论(0) 推荐(0) 编辑
摘要:栈:只有一个出入口的表结构,先进后出,FILO表 栈顶操作 一、顺序栈 数据项: 存储元素的内存首地址 栈的容量 栈顶位置 运算: 创建、销毁、入栈、出栈、栈顶、栈空、栈满、数量 栈相关的概念:假设栈容量为cal 空增栈: top: 0开始 先入栈,再top++,存储地址由低到高 满增栈: top: 阅读全文
posted @ 2023-09-07 21:09 冲他丫的 阅读(35) 评论(0) 推荐(0) 编辑
摘要:**#define 定义宏** 本质是替换 # 一、宏常量: ```c #define MAX 50 ``` 优点:提高代码可扩展性、提高可读性、提高了安全性、还可以与case配合 **注意**:定义宏常量**不要加分号**,一般宏名全部**大写** **预定义好的宏常量:** ```c print 阅读全文
posted @ 2023-09-07 09:06 冲他丫的 阅读(23) 评论(0) 推荐(0) 编辑
摘要:# 一、字符串 **字符**:人能看得懂的符号或图案,在内存中以整数形式存储,根据ASCII码表中的对应关系显示出相应的符号或图案 ```c '\0' 0 空字符 '0' 48 'A' 65 'a' 97 ``` **串**:是一种数据结构,存储类型相同的若干个数据 对于串型结构的处理是批量性的,会 阅读全文
posted @ 2023-09-06 15:05 冲他丫的 阅读(43) 评论(0) 推荐(0) 编辑
摘要:# 堆内存 ## 1、什么是堆内存 是进程中的一个内存段(heap),由程序员手动管理(手动申请和释放) 优点:足够大 缺点:使用麻烦且具备一定危险性 ## 2、为什么要使用堆内存 1、随着程序的复杂,数据量增多,其他内存段已经不够用了 2、其它内存段的申请和释放不受控制,但是堆内存的申请和释放是受 阅读全文
posted @ 2023-09-05 16:41 冲他丫的 阅读(37) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示