- 博客(36)
- 收藏
- 关注
原创 QT中通过Tcp协议的多线程的文件传输(服务器)
QT中通过Tcp协议的多线程的文件传输(服务器端口),接受的文件会被存在服务器同目录下的build文件夹中
2024-08-23 23:27:59 815
原创 QT中通过TCP协议多线程的文件传输(客户端)
在qt上完成一个TCP协议的用多线程完成的文件传输客户端,客户端选择磁盘上的文件进行发送,会显示文件发送进度
2024-08-22 21:15:13 974
原创 C++中的小tip
静态存储区或常量区的字符串都是只读的char *ap="hello" 声明了一个字符指针 ap,并将字符串 "hello" 的首地址赋值给它。char ap[]="hello" 声明了一个字符数组 ap,并将字符串 "hello" 的内容复制到数组中。这意味着 ap 是一个数组对象,它包含了字符串 "hello" 的所有字符,包括结尾的空字符 '\0'c++面对对象的三大特性是封装、继承、多态。
2024-08-13 11:40:33 1069
原创 链表有环判断 力扣141题
指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数。来表示链表尾连接到链表中的位置(索引从 0 开始)。如果链表中有某个节点,可以通过连续跟踪。仅仅是为了标识链表的实际情况。,判断链表中是否有环。给你一个链表的头节点。
2024-08-03 14:33:04 318
原创 常量指针和指针常量
常量指针是指指向常量的指针,即指针所指向的中的值是不能被修改的。其中,是指针所指向的数据类型,是指针变量名。在这个例子中,p 是一个指向整型常量的指针,它指向了变量 a 的地址。由于 p 指向的是常量,所以不能通过 p 来修改 a 的值。常量指针 不能改变a的值。
2024-08-03 00:13:24 631
原创 力扣80题 删除有序数组中的重复项 II
给你一个有序数组nums,请你删除重复出现的元素,使得出现次数超过两次的元素,返回删除后数组的新长度。不要使用额外的数组空间,你必须在并在使用 O(1) 额外空间的条件下完成。假设我们有一个有序数组nums我们希望删除重复元素,使得每个元素最多出现两次。
2024-07-31 15:33:35 287 1
原创 力扣21题 合并升序链表
在递归调用返回后,我们将返回的结果(即合并后的链表的一部分)连接到。新链表是通过拼接给定的两个链表的所有节点组成的。:最终,我们返回合并后链表的头节点,即。:我们从两个链表的头节点开始,即。将两个升序链表合并为一个新的。作为当前合并后链表的头节点。
2024-07-31 15:20:20 211
原创 力扣第5题 求最长回文子串
该算法使用一个辅助函数expand来扩展回文子串。奇数长度回文子串:以当前字符为中心,向左右两侧扩展。偶数长度回文子串:以当前字符和下一个字符为中心,向左右两侧扩展。我们记录下每次扩展得到的最大回文子串长度和起始位置。最后,返回最长的回文子串。++right;i < sz;i++) {
2024-07-31 14:21:17 231
原创 文件函数的使用
本章介绍了,fopen、fclose、fget,fputc,fread,fwrite,fprintf,fscan,rewind,ftell,fseek,等等函数的介绍,怎么使用
2024-05-21 23:20:23 1340 1
原创 文件的概念,什么是文件
磁盘文件:(我们通常认识的文件)指一组相关数据的有序集合,通常存储在外部介质(如磁盘)上,使用时才调入内存。在操作系统中把每一个与主机相连的输入、输出设备看作是一个文件,把它们的输 入、输出等同于对磁盘文件的读和写。键盘:标准输入文件屏幕:标准输出文件 其它设备:打印机、触摸屏、摄像头、音箱等 在Linux操作系统中,每一个外部设备都在/dev目录下对应着一个设备文件,咱们在程序中要想操作设备,就必须对与其对应的/dev下的设备文件进行操作。标准io库函数对磁盘文件的读取特点。
2024-05-21 20:44:28 2616
原创 linux系统介绍和安装教程(含安装链接放在最下面了)
虚拟机介绍:虚拟机可以说是一种软件,也可以说是一种技术,它允许你在一台主机上虚拟出多台计算机,每台虚拟的计算机都可以有自己的硬件及软件配置。帮助网络架构工程师在一台电脑上模拟、检测整个网络运行情况。极大的降低企业的运营成本与风险。帮助操作系统设计者测试、解决问题。开发者在多个平台上进行自由切换。应用较为广泛的虚拟机Virtual PC是Microsoft公司开发的一个免费“虚拟机”软件,它使用户可以在一台机器 上同时运行多个操作系统。
2024-05-14 23:36:18 861
原创 UDP多播
多播,也被称为组播,是一种网络通信模式,其中数据的传输和接收仅在同一组内进行。:多播使用特定的多播地址,该地址标识一组接收数据的接口。发送到多播地址的数据包将被传递给属于该组的所有接口。:与广播通信通常局限于局域网内不同,多播可以用于广域网环境。这使得多播成为一种在大型网络中分发数据的高效方式,因为它只将数据发送给需要的接收者。:在IPv4网络中,多播支持是可选的,这意味着并非所有网络都支持多播。然而,在IPv6中,多播是强制要求的,所有IPv6网络都必须支持多播。IPv4的D类地址是多播地址。
2024-05-07 14:48:42 1426
原创 TCP(TCP客户端、服务器如何通信)
TCP客户端、服务器如何通信,讲解了bind,listen,accept 等函数,与UDP的差别等等
2024-05-06 00:06:21 10667 4
原创 网络编程中有关字节序、地址的转换
大家好,这里是小缺,一名对嵌入式软件开发充满热情的探索者。这一篇文章主要内容是带大家了解网络编程中的字节序和地址转换。1inet_pton()2inet_ntop()3inet_addr()和4inet_ntoa()等函数
2024-04-29 21:54:21 694
原创 共享内存(共享内存的映射,用共享内存读写,共享内存的控制)
共享内存允许两个或者多个进程共享给定的存储区域。共享内存的特点1、 共享内存是进程间共享数据的一种最快的方法。一个进程向共享的内存区域写入了数据,共享这个内存区域的所有进程就可以立刻看到 其中的内容。2、使用共享内存要注意的是多个进程之间对一个给定存储区访问的互斥。若一个进程正在向共享内存区写数据,则在它做完这一步操作前,别的进程不应当去 读、写这些数据。共享内存示意图总结。
2024-04-14 22:27:46 1319 1
原创 无名管道(pipe函数,进程间通信)
管道(pipe)又称无名管道。无名管道是一种特殊类型的文件,在应用层体现为两个打开的文件描述符。任何一个进程在创建的时候,系统都会 给他分配4G的虚拟内存,分为3G的用户空间和1G 的内核空间,内核空间是所有进程公有的,无名管道就是创建在内核空间的,多个进程知道 同一个无名管道的空间,就可以利用他来进行通信无名管道虽然是在内核空间创建的,但是会给当前用户进程两个文件描述符,一个负责执行 读操作,一个负责执行写操作1、半双工,数据在同一时刻只能在一个方向上流动。2、数据只能从管道的一端写入,从另一端读出。
2024-04-10 12:55:53 458 1
原创 kill,alarm,raise,abort,pause,signal等函数的使用
kill,alarm,raise,abort,pause,signal等函数的使用
2024-04-09 14:38:36 1685 1
原创 进程的挂起,等待和退出(wait,waitpid,exit,_exit,atexit 等函数)
大家好,这里是小缺,一名对嵌入式软件开发充满热情的探索者。这一篇文章主要内容是带大家了解进程的挂起,等待,退出等操作。包括wait,waitpid,exit,_exit,atexit 等函数
2024-04-08 11:29:24 1176
原创 进程的创建--fork函数
大家好,这里是小缺,一名对嵌入式软件开发充满热情的探索者。这一篇文章主要内容是进程号是什么,如何使用fork函数创建子进程
2024-04-07 20:48:09 227
原创 进程号(如何查询进程号,父进程号和进程组号)
进程组是一个或多个进程的集合。他们之间相互关联,进程组可以接收同一终端的各种 信号, 关联的进程有一个进程组号(PGID)。任何进程(除init进程)都是由另一个进程创建,该进程称为被创建进程的父进程,对应的进程号 称为父进程号(PPID)。进程号是由操作系统在创建进程时自动分配的,用户程序不能直接指定进程号。每个进程都有一个唯一的标识符,称为进程号(PID),它是一个。标识进程的一个非负整型数。:当前进程所在的组的进程组ID。:当前进程的父进程的进程号。父进程号(PPID)
2024-04-07 20:00:26 1607
原创 系统调用和库函数
系统调用虽然提供了与内核通信的机制,但频繁的系统调用会导致性能下降。库函数通过使用缓冲区等技术,减少了直接调用系统调用的次数,从而提高了程序的运行效率。大多数库函数的本质也是系统调用,只不过库函数有了缓冲区,用于减少系统调用的次数。
2024-04-07 11:59:44 846
原创 系统调用IO函数(例如open、write、read、remove、close)
大家好,这里是小缺,一名对嵌入式软件开发充满热情的探索者。本篇文章我将向大家介绍文件描述符,一些常见系统调用IO函数,例如open、write、read、remove、close。
2024-04-06 16:34:57 2811 2
原创 系统调用概述
操作系统的职责操作系统用来管理所有的资源,并将不同的设备和不同的程序关联起来。什么是Linux系统编程在有操作系统的环境下编程,并使用操作系统提供的系统调用及各种库,对系统资源进 行访问。系统编程主要就是为了让用户能够更好和更方便的操作硬件设备,并且对硬件设备也起到保 护作用, 我们所写的程序,本质就是对硬件设备的操作,所以操作系统提供接口可以对硬件进行操作,这就是系统编程。在Linux操作系统中,硬件设备的操作是通过内核来实现的,因为内核是操作系统的核心部分,负责管理系统资源和提供系统服务。
2024-04-06 14:42:54 460
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人