- 博客(15)
- 收藏
- 关注
原创 Linux C应用编程——父子进程
在操作系统中,进程 是计算的基本单位,而 父子进程 则是通过 系统调用创建和管理的进程关系。本文将从以下几个方面介绍父子进程的工作原理及其实现。父进程:子进程:父子进程通过以下特性实现紧密的关系: 是用于创建子进程的系统调用,它返回两次,分别在父进程和子进程中返回不同的值:的使用场景共享代码段:独立的数据段:独立的堆和栈:文件描述符:示例代码:验证父子进程的数据独立性4. 父子进程之间文件共享文件描述符表共享:文件状态标志共享:关闭文件的独立性:以下代码演示了父子进程共享文件的文件偏移量更新行为
2024-11-17 19:12:16
1298
原创 格式化IO
函数输出目标安全性常用场景printf标准输出不限长度控制台打印fprintf文件流(FILE *不限长度文件或日志输出dprintf文件描述符(int不限长度系统编程(文件、网络)sprintf字符数组不限长度动态生成字符串snprintf字符数组限定最大长度安全的字符串输出scanffscanf和sscanf是 C 标准库提供的格式化输入函数,它们用于从不同的输入源中按指定格式读取数据并存储到变量中。scanf:从标准输入(通常是键盘)读取数据。fscanf:从文件流读取数据。
2024-11-15 13:12:34
936
原创 文件IO——从空洞文件到文件共享的全面解析
在Linux系统编程中,是一种特殊的文件类型,主要用于节省磁盘空间。当文件中存在未写入实际数据的部分时,这些部分会被称为“空洞”。在空洞文件中,这些“空洞”不会实际占用磁盘空间,而是在读取时返回零值。
2024-11-14 15:30:21
1151
原创 Linux 系统之文件
文件表也是一个数据结构体,其中记录了很多文件相关的信息,譬如文件状态标志、 引用计数、 当前文件的读写偏移量以及 i-node 指针(指向该文件对应的 inode)等, 进程打开的所有文件对应的文件描述符都记录在文件描述符表中,每一个文件描述符都会指向一个对应的文件表。每个文件在文件系统中都有对应的 inode(索引节点),inode 是存储文件元数据的结构(实质是一个结构体)。在 Linux 系统下,我们可以通过**“ls -i”**命令查看文件的 inode 编号。,用于存储文件中的数据;
2024-11-13 21:33:52
261
原创 嵌入式Linux C应用编程之文件IO
(File Descriptor,简称 FD)是操作系统为管理打开的文件、设备等 I/O 资源所分配的一个整数值。在 Unix 和 Linux 系统中,文件描述符用于表示所有类型的 I/O 对象(如文件、网络套接字、管道等),它们是程序与操作系统之间进行 I/O 操作的桥梁。
2024-11-13 11:06:50
1053
原创 C++与C语言一些方面的区别
特性CC++语言类型面向过程面向对象和面向过程内存管理malloc和freenew和delete输入/输出printf和scanfcin和cout标准库基本库函数标准库 + STL结构和类仅struct支持class和struct命名空间无namespace支持异常处理无trycatchthrow函数和运算符重载不支持支持编译速度较快较慢。
2024-11-10 10:33:50
621
原创 C++学习之命名空间
int x = 10;" << endl;在使用该命名空间中的成员时,可以通过两种方式来引用它们:(1)通过指定命名空间名加来访问其中的成员int main()//通过指定命名空间名加 `::` 来访问其中的成员// 直接访问// 调用 func()return 0;(2)也可以使用using声明// using编译指令使整个命名空间标识符可用// 直接访问func();// 调用 func()注意:使用可以简化代码,但也可能引入命名冲突。
2024-11-09 16:05:14
438
原创 C语言学习之链表
双向链表是一种链表结构,其中每个节点不仅包含指向下一个节点的指针 next,还包含指向前一个节点的指针 prev。链表的删除操作是指从链表中移除一个节点,并正确地更新链表结构,以确保链表的连续性。删除节点时,我们需要找到目标节点,并将其前一个节点的指针指向目标节点的下一个节点。查找的过程就是从链表头节点开始,逐个访问节点的数据,并与目标数据进行比较,直到找到相匹配的节点或到达链表的末尾。在双向链表中删除节点时,需要注意更新被删除节点的前后节点的指针。双向链表的插入操作根据插入位置不同,头部、尾部、中间。
2024-11-08 18:03:46
1298
原创 论文阅读:一种基于注意机制和自编码器的车载网络CAN总线数据包入侵检测模型
提出了一种利用注意力机制和自动编码器进行入侵检测的新方法(AMAEID)。AMAEID模型首先将原始十六进制消息数据转换为二进制格式。然后使用多层去噪自编码器模型对二进制消息数据进行编码和解码,从而获得隐藏特征表示,该特征表示可以在更深层次上表示消息数据背后的潜在特征。最后,利用注意机制和全连接层网络来推断消息是否为异常消息。在实际车载CAN总线消息数据集上的3个评价指标的实验结果优于一些传统的机器学习算法,证明了AMAEID模型的有效性。
2024-11-08 09:29:34
886
1
原创 C语言学习之结构体
int num;char sex;//一般结构体类型都会定义在全局,也就是main函数的外面。//所以在定义结构体类型的同时定义变量,这些变量一般都是全局变量//给结构体类型取别名,重新给结构体起了一个类型名int num;char sex;}STU;//此时的STU为一个类型//STU相当于struct stu,STU xiaozhao 等价于 struct stu xiaozhao。
2024-11-07 16:06:47
855
原创 Intrusion detection system for cyberattacks in the Internet of Vehicles environment论文阅读
提出了一种新的入侵检测框架,专门针对位于车联网环境中的车辆上的网络攻击,如拒绝服务、分布式拒绝服务、分布式反射拒绝服务、暴力破解、僵尸网络和嗅探等。具体步骤:(i)使用Z-score归一化进行数据预处理,该归一化保留了所提出方法的数据分布并处理异常值;(ii)利用回归模型进行特征选择,简化模型复杂度,减少执行时间;(iii)模型选择和训练-随机森林,极端梯度增强,分类增强,轻梯度增强机-使用超参数优化来控制训练阶段的行为并防止过拟合。
2024-11-01 16:56:34
621
1
原创 Misbehavior detection system with semi-supervised federated learning
半监督联邦学习的不良行为检测系统,该篇文章是Vehicular Communications(2023,2区,IF6.7)本文主要做了两点:对大量未标记数据提出用半监督学习解决,对常规模型的学习通信开销较大提出用联邦学习解决。V2X(Vehicle-to-everything)通信可在车辆、道路基础设施、网络和行人之间交换安全信息,从而加强交通安全。然而,这些信息容易受到攻击,提出一种半监督联邦学习的不良行为检测系统,克服了未标记数据的局限性和集中式学习消耗大量带宽的问题。
2024-05-12 13:44:01
966
1
原创 Communication-Efficient Learning of Deep Networks from Decentralized Data
该论文是最早的提出联邦学习的,作者提出了模型平均的联邦学习,可以说是开山之作。提示:以下是本篇文章正文内容,下面案例可供参考针对现代移动设备的增加,产生了大量适合模型学习的分散的隐私数据,提倡一种替代方案,即让训练数据分布在移动设备上,并通过聚合本地计算的更新来学习共享模型,称这种分散的方法为联邦学习(Federated Learning)。提出了一种模型平均的联邦学习方案,选了五种深度学习的模型和四种数据集进行实验,与同步随机梯度下降相比,我们显示所需的通信回合减少了10 - 100倍。
2024-05-10 16:55:24
866
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人