C语言
文章平均质量分 50
er_ha_er
这个作者很懒,什么都没留下…
展开
-
Linuxc-socket网络通信
网络通信:底层遵循TCP/IP协议,在系统中以socket接口方式呈现基于TCP协议的网络通信模型服务端 客户端创建socket对象 创建socket对象准备通信地址(本机IP)+端口号 准备通信地址绑定socket和通信地址 …设置监听和排队的对象 …等待客户端连接 连接服务原创 2021-10-08 08:32:40 · 226 阅读 · 0 评论 -
LinuxC-Socket进程间通信
一、Socket进程间通信基本特点:socket是一种接口技术,被抽象成一个文件来操作,可以让同一台计算机进程间通信,也可以让不同的计算机的进程通信(网络)同一台计算机的进程间通信: 底层需要借助socket文件,进行同一计算机#include <sys/types.h> /* See NOTES */#include <sys/socket.h>int socket(int domain, int type, int protocol);原创 2021-09-28 08:30:02 · 624 阅读 · 0 评论 -
Linuxc学习笔记-进程间的通信
进程间通信基本概念:什么是进程通信:是指两个或多个进程之间交互数据的过程,是因为进程之间是相互独立的,为了协同工作的需要必须要交互数据进程间通信的分类:简单的进程间通信:信号、文件、环境变量、命令行参数传统的进程间的通信:管道文件XSI进程间通信: 共享内存、消息队列、信号量网络进程间通信: 套接字Socket传统进程间通信—管道(FIFO):管道是UNIX系统中最古老的进程间的通信,古老意味着所有系统都支持,早期的管道文件都是半双工,现有的一些系统的管道是全双工的管道是一种原创 2021-09-27 08:28:16 · 177 阅读 · 0 评论 -
LinuxC进程通信-子进程
进程的基本概念:1、程序与进程程序就是存储在磁盘上的可执行文件,当程序被加载到进程中开始运行时就叫做进程,一个程序可以被多次加载生成多个进程,进程就是处于活动状态的计算机程序2、进程的分类进程一般分为三种类型:交换进程、批处理进程、守护进程守护进程一般处于活跃状态,运行于后台,由操作系统在开机时通过启动脚本自动创建3、查看进程简单形式: ps 显示当前用户的有终端控制的进程信息列表形式: ps -auxw 显示出所有进程的详细信息a 所有用户有终端控制的进程x 无终原创 2021-09-26 08:26:53 · 157 阅读 · 0 评论 -
LinuxC进程通信-信号学习笔记
基本概念:1.中断当进程接收到信息后终止当前正在执行的进程,转而去执行其他任务,等其他任务完成后再放回,这种模式叫做中断模式。中断分为硬中断和软中断2、信号是一种软件中断,由操作系统发出,进程接收后会执行相应的操作3、常见的信号kill -l 显示出所有信号SIGINT(2) 终端中断符信号4、不可靠信号和可靠信号 建立在早期的信号处理机制上的信号(1-31),是不可靠信号 不支持排队,可能会丢失信号,同一个信号如果连续产生多次,进程可能只处理 了一次。 建原创 2021-09-23 08:13:06 · 78 阅读 · 0 评论 -
Linux文件同步相关函数学习笔记
一、文件同步1、在写入数据时内存与磁盘之间也有一个缓冲区,这种机制降低了磁盘的读写次数,提高了读写的效率2、这种机制带来的后果就是磁盘中的数据与实际写入的数据不匹配,系统提供了三个函数可以让缓冲区中的数据立即写入到磁盘上 #include <unistd.h> void sync(void); 功能:把缓冲区中的数据立即同步到磁盘上 注意:并不会等待数据全部同步完,而是把缓冲区的数据加入写入队列后,立即返回 int fsync(int fd);原创 2021-09-22 08:48:27 · 264 阅读 · 0 评论 -
Linux系统线程管理学习笔记
一、系统调用(API)系统调用就是操作系统提供的一些功能给程序员使用,这些功能已经被封装成c函数的形式,但它们不是标准c的一部分一遍应用程序运行在用户态(使用的是0~3G的虚拟内存)。系统调用时工作在内核态(使用的是3-4G的虚拟内存)常用的标准库函数绝大部分时间运行在用户态,底层偶尔也会调用系统函数进入内核态、系统调用时运行的就是内核代码,内核代码属于内核的一部分,该代码的外部接口以函数形式定义在共享库中(linux-gate.so ld-linux.so) ldd ./a.out查原创 2021-09-06 19:18:18 · 91 阅读 · 0 评论 -
关于Linux系统内存管理学习笔记
一、内存管理用户层STL 自动分配/释放内存 调用C++C++ new/delete 调用CC malloc/free 调用POSIXPOSIX brk/sbrk 调用Linux系统函数Linux mmap/munap 调用内核 kernel系统层 内核 kmalloc/vmalloc 调用驱动 驱动 get_free_page 二、进程印象程序是存储在磁盘上的可原创 2021-09-06 08:52:44 · 74 阅读 · 0 评论 -
C语言学习总结思维导图2
原创 2021-08-30 18:54:54 · 185 阅读 · 0 评论 -
C语言总结思维导图01
原创 2021-08-30 18:53:50 · 241 阅读 · 0 评论 -
牛客网之反转链表、判断链表中是否有环
NC78 反转链表描述输入一个链表,反转链表后,输出新链表的表头。示例1输入:{1,2,3}返回值:{3,2,1}初始化:3个指针1)pre指针指向已经反转好的链表的最后一个节点,最开始没有反转,所以指向nullptr2)cur指针指向待反转链表的第一个节点,最开始第一个节点待反转,所以指向head3)nex指针指向待反转链表的第二个节点,目的是保存链表,因为cur改变指向后,后面的链表则失效了,所以需要保存接下来,循环执行以下三个操作1)nex = cur->next, 保原创 2021-08-18 20:40:20 · 130 阅读 · 0 评论