自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 C++基础 ----课后总结(1)

/#include宏,用于包含其它的库文件//库文件:iostream //输入/输出流类:包含了输入流(用于输入数据)和输出流(用于输出数据)//iostream i:input o:output stream:流//iostream : istream(输入流)和ostream(输出流)//istream:对象:cin ---- istream cin//ostream:对象:cout ---- ostream cout//符号:<> 或 “”

2023-09-07 22:46:37 160

原创 C语言与sqlite3数据库模拟用户登陆流程

3、用户登陆,如果多次登陆不成功可以重新注册账号再次登陆。2、注册完成后将用户信息存储在数据库中。1、实现用户注册账号。

2023-09-05 19:46:46 435 1

原创 基于C语言的SQlite3数据库操作指令

SQLite3是一个轻量级的嵌入式数据库引擎,它是一个自包含的、零配置的、服务器无关的、事务性的SQL数据库引擎。它是使用C语言编写的,可以直接在应用程序中嵌入,不需要单独的服务器进程。

2023-09-04 19:15:53 1418 1

原创 Linux 进程信息 system V-IPC 共享内存 (SHM)

上述思维导图解释说明:思维导图将代码分成了几个模块,主要模块包括主函数和信号量操作函数。在主函数中,通过调用相关函数创建共享内存和信号量,然后进入循环写入共享内存数据的过程。循环中先进行 P操作(空间),即空间信号量减1,然后将数据写入共享内存,并进行 V操作(数据量),即数据量信号量加1。循环不断地向共享内存中写入数据,直到程序结束。最后,在退出程序之前需要断开共享内存的连接。这个思维导图反映了代码的主要逻辑和关键函数调用,对于理解代码的执行流程和实现功能是很有帮助的。功能获取共享内存的ID头。

2023-09-02 13:01:35 297 1

原创 Linux 进程信息 system V-IPC 之消息队列

消息队列使用简单,老少咸宜,但是他跟管道一样,都是需要“代理人”的进程通信机制:内核充当了这个代理人,内核为使用者分配内存,检查边界,设置阻塞,以及各种权限监控,使得我们用起来非常省心省力,但是任何事情都是有代价的:代理人机制使得他们的效率都不高,因为两个进程的数据传递并不是直接了当的,而是要经过内核的辗转接力的,因而他们都不适合用来传输海量数据。而能解决这个问题的,就是下面要解剖的共享内存,欲知后事如何,且听下节分解。

2023-09-01 23:09:23 129 1

原创 Linux进程---有名管道与无名管道(详细篇)

它接受文件路径和权限参数,并返回一个整数值,表示访问权限的状态。来定位:因为他们的数据不能像普通文件那样按块的方式存储在硬盘,而是像一个看不见源头的水龙,无法定位。比较多,如果要在任意进程间通信,并且保证写入有原子性,那么你可以使用。,就好像将水灌进管道一样,另一方就可以读取出来了,反过来也一。即:假如有多个进程或线程同时。既然叫管道,那么可以想象他就像一根水管,连接两。式:读写端分开,一个只能用来读,一个只能用来写。很简单,同时也适用场景比较单一,性能比较弱,式,有名管道存在于文件系统之中,提供写。

2023-08-31 23:46:14 110

原创 Linux进程-----父进程与子进程(详细篇)

至此,我们已经知道如何创建多进程,以及掌握了他们的基本操作方法了,有一点是必 须再提醒一次的:进程他们是相互独立的,最重要体现在他们互不干扰的内存空间上,他们的数据是不共享的,但如果多个进程需要协同合作,就必然会有数据共享的需求,就像人与 人之间需要说话一样,进程亟需通过某样东西来互相传递信息和数据,这就是所谓的 IPC (Inter-Process Comunication) 机制,IPC 有很多种,他们是怎么使用的,有哪些特点,在 什么场合适用,请关注下一篇文章咱们慢慢道来。

2023-08-30 23:57:53 5034 1

原创 嵌入式-----网络编程

端口号: 16bit,short类型. 0--65535 0-----1023端口号,有一些知名的大厂才能用 1024------5000,预留给大厂;面向连接的, 字节流的,安全可靠协议,资源占用大,采用一对一通信,常用于文本,文件,重要信息。微信app-->OS-->驱动-->网卡--> 网络 -->网卡-->驱动-->os->微信。负责传输的安全性的问题. 数据包:丢失 破坏 乱序。TCP/IP模型: 4层 简单,实用,普遍在使用。

2023-08-30 09:41:59 59 1

原创 基于linux的I/O编程(详细版)

在 Linux 中,有一句经典的话叫做:一切皆文件。这句话是站在内核的角度说的,因为 在内核中所有的设备 (除了网络接口) 都一律使用 Linux 独有的虚拟文件系统 (VFS) 来管 理。这样做的最终目的,是将各种不同的设备用“文件”这个概念加以封装和屏蔽,简化应 用层编程的难度。文件,是 Linux 系统最重要的两个抽象概念之一 (另一个是进程)。

2023-08-28 14:38:25 82

原创 I/O编程

一切皆文件在Linux中,有一句经典的话叫做:一切皆文件。这句话是站在内核的角度说的,因为在内核中所有的设备 (除了网络接口) 都一律使用Linux独有的虚拟文件系统 (VFS) 来管理。这样做的最终目的,是将各种不同的设备用“文件”这个概念加以封装和屏蔽,简化应用层编程的难度。文件,是Linux系统最重要的两个抽象概念之一 (另一个是进程)。七类文件1,普通文件 (regular) :存在于外部存储器中,用于存储普通数据。2, 目录文件 (

2023-08-18 19:31:02 37 1

原创 C语言中简单的链表以及栈

顺序栈 : 数组 从数组尾部进行插入和删除。增栈 : 入栈时 栈顶指针 向大地址方向移动。减栈 : 入栈时 栈顶指针 向小地址方向移动。空栈 : 栈顶指针 指向的位置数据 无效(空)满栈 : 栈顶指针 指向的位置数据 有效(满)规定了 表的入口和出口 同时 先进先出。链式栈 : 链表 从头部插入和删除。只能在表的 一端 进行插入和删除。顺序存储的队列: 循环队列。离散存储的队列: 链式队列。一种特殊 的 线性表,队列: 是一种特殊的线性表。

2023-08-14 19:10:37 28

原创 C语言中的链表操作

当头节点的 指针域 == NULL 表示空链表。链表的插入和删除节点,时间复杂度 比顺序表优秀 不会存在大片数据整体移动的情况。空链表 表示 : 使用一个 不存储数据的 节点 作为头节点.//数据域:存储数据本身的。给定一个数据data 查询该数据 所在的节点下标 或 节点地址。//指针域:存储逻辑关系。链表结尾节点 表示: 指针域 == NULL。2.给定节点的地址, 删除该节点。1.给定一个下标, 删除该节点。//返回值 失败返回 NULL。//成功 返回 链表头节点地址。

2023-08-12 09:29:09 34 1

原创 C语言数据结构篇---------------表

首先定义了一个结构体 list_t 用来表示顺序表,其中包含了最大长度、当前元素个数以及存储节点数据的数组成员。在 main 函数中,首先通过 create_list 函数创建了一个有25个元素空间的顺序表,然后使用 insert_list 函数在表的头部插入了一些数据,最后调用 show_list 函数显示了表的内容。的作用是定义类型别名,可以将复杂或冗长的类型名简化为一个更易读的别名,使代码更加清晰和易于理解。执行的频度: 算法中 语句执行的次数 与 输入问题规模的 比值。//静态分配数组长度。

2023-08-10 19:41:32 127 1

原创 基于Linux系统的C语言 ---------指针篇

赋值运算 建立指向关系* 取指向对象 *p+/- n 地址移动p-q 指针相减p>q 关系运算。

2023-08-07 19:18:25 181 1

原创 C语言中常见的编译报错及调试方法

预处理阶段出现 通常为头文件路径错误或文件名写错导致的。(以hello.c这个文件为例)hello.c:5:19: fatal error: inc/a.h: 没有那个文件或目录。归档错误 及连接错误引用了其他文件或库中的函数 而没有声明 或 函数名字错误。hello.c:(.text+0x42):对‘func’未定义的引用。3. 未定义标识符 变量/函数没有定义或声明就使用。bug 程序可以运行 但 没有达到预期效果甚至出现错误。在编译阶段出现 ,通常为标点符号或中文问题。

2023-08-04 19:32:48 7662 1

原创 基于Linux系统的C语言---------GCC编译器原理

O 用于指定 编译优化等级 -O0 不优化 -O1 -O2 -O3 volatile 防止编译器优化。hello.i .i后缀 表示只进行预处理后的文件。C库 : 一些有gcc提供的 常用的一些函数。-c 仅进行 汇编, 生成 二进制目标文件。-l 用于指定 链接第三方库的名字。-L 用于指定 链接第三方库的路径。-I 用于指定头文件的搜索路径。汇编器 : 汇编---> 二进制机器码。-S 只进行 C编译为 汇编。编译器 : C ---> 汇编。

2023-08-04 19:04:51 50 1

原创 Linux基础------------shell脚本

本质 shell命令的 有序集合一种解释型 语言 不需要编译方便操作者 对重复性的劳动进行 编程一种无类型语言 变量没有类型 或 字符串类型注意事项: 对标点符号 和 格式 非常严格 特别是空格。

2023-08-03 18:40:15 38

原创 Linux 软件包 系统IP Ubuntu 配置网卡 服务器及目录共享

进程: 一个运行起来的程序 程序运行结束 进程就消失了PID: 进程的ID号, 在系统中 是一个唯一的数前台进程: 占用终端,终端的输入将会传输给 前台进程后台进程: 没有占用终端,在后台运行的 进程 输出会在终端显示 依附终端存在服务进程: 通常没有终端输入输出1. 查看系统中 所有的 进程ps -auxps -aux | grep ./a.out 使用通道筛选指定名字的进程MEM :内存STAT: 状态START :启动时间。

2023-08-02 20:13:54 629

原创 Linux 的基础命令及使用

Ubuntu:安装和使用,适合新手。社区庞大,有大量的文档和教程可供参考。软件库丰富,支持的软件和应用程序数量很多。更新和维护方便,有稳定版和开发版可供选择。

2023-08-01 19:55:54 31 1

原创 C基础知识总结

关键字const 全局变量------>常量。int 整型 32bit 4字节 0-2^32-1 = 4,294,967,295。int ---> float 整型(精确类型) 小数(非精确类型) 精度会丢失 int的精度会更高一点。const 修饰全局变量 该变量存储于常量区 特殊情况的变量 --->可以存储在常量区。使用: format 格式控制字符串 "a=%d\n",a 其中 a=\n 原样输出。

2023-08-01 09:11:32 32 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除