自定义博客皮肤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)
  • 收藏
  • 关注

原创 多层联合体(union)的初始化赋值

在C语言中,多层联合体(union)的初始化赋值可以通过直接初始化嵌套的联合体实现。联合体是一种特殊的数据类型,它能够存储不同的数据类型,但同一时间只能存储其中一个数据类型的值。初始化时,我们使用了结构体样式的初始化(designated initializer)来指定初始化。这样可以避免可能的混淆和歧义。注意,联合体的大小由其最大成员的大小决定,所以在这个例子中,都被正确地设置了,尽管它们分别属于不同的数据类型。联合体,并且给它的嵌套联合体。包含了整型和字符型成员。函数中,我们初始化了。

2024-04-24 15:27:42 510

原创 Linux 5.8 spinlock.h

在 Linux 5.8 内核中,自旋锁的实现进行了一些优化,包括减少自旋时的内存占用,减少不必要的内存屏蔽,以及优化了自旋锁的调度策略。函数来获取和释放自旋锁。在获取锁之前和释放锁之后,我们不能执行可能导致进程睡眠的操作,因为那样可能会导致死锁或性能问题。Linux 5.8 内核引入了自旋锁的一些新特性和改进。自旋锁是一种用于防止多线程并发访问共享资源的同步机制。在这个示例中,我们首先包含了必要的头文件。,然后定义了一个自旋锁。

2024-04-22 19:31:52 376

原创 linux atomic

对其进行自增和自减操作。这些操作是原子的,意味着它们不会被线程调度器中断,从而保证了在并发环境下的数据一致性。这种方式适用于计数这样的简单场景,但对于更复杂的同步需求,可能需要使用其他同步机制,如自旋锁、读写锁或信号量。在Linux 5.8内核中,线程间同步和变量保护通常通过原子操作、自旋锁、读写锁、信号量等同步机制来实现。以下是一个简单的例子,展示了如何使用原子操作来保护线程间的变量。在这个例子中,我们定义了一个全局的原子变量。

2024-04-22 19:29:28 381

原创 linux timer.h

/ 在1000毫秒后首次触发。// 重新调度定时器,例如在1秒后再次触发。// 初始化定时器,设置服务函数和到期时间。// 删除定时器,防止再次触发。// 定时器服务函数。

2024-04-22 19:28:32 237

原创 git format-patch命令介绍

git format-patch的使用1.在dev1分支上,打出所有dev1分支在master分支基础上的patchgit format-patch master结果为d1c1.patch ,d1c2.patch2.在dev1分支上,打出所有dev1分支的所有patchgit format-patch –root dev1结果为mc1.patch,d1c1.patch ,d1c2.patch3.在dev2分支上,打出所有dev2分支在master分支基础上的patchgi

2022-03-21 15:25:47 5609

原创 WSL编译linux-5.16.9 时出现 fatal error: libelf.h: No such file or directory

make时出现两个错误,第一个是 <stdin>:1:10: fatal error: libelf.h: No such file or directory下载代码:The Linux Kernel Archives编译linux步骤:1. make menuconfig //不需要配,为了得到.configure2. make解决办法:sudo apt-get install libelf-dev安装时却出现:Depends: libelf1 (= 0.158-0ub

2022-03-03 22:39:00 4804

原创 ubuntu20.04 LTS 更换国内163源、阿里源、清华源、中科大源

Ubuntu 20.04 是 Ubuntu 的第 8 个 LTS 版本,其重大更新和改进将在 2030 年前终止,计划于2020年 4 月 23 日发布。国内有很多Ubuntu的镜像源,有阿里的、网易的,教育网的比如:清华源、中科大源。这里以网易163源为例看一下如何修改Ubuntu 20.04的默认源。第一步:备份源文件:sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup第二步:编辑/etc/apt/sources.l...

2022-01-06 20:09:10 3091 2

转载 堆栈 对比

https://www.cnblogs.com/guoxiaoyan/p/8664150.html

2021-10-22 15:05:25 70

原创 benchmark

转载lmbench内存延迟测试代码分析stormbm2018-05-105437浏览量简介:lmbench有很多测试集, lat_mem_rd是用来测试内存延迟的 # 使用方法 ./bin/x86_64-linux-gnu/lat_mem_rd 1 16 #./bin/x86_64-linux-gnu/lat_mem_rd 1(范围, 单位M) 16(步长) "stride=16 0.00049 1.584(单位M, 512字节范围内, 步长16访问延迟, 为什么显示lmbench有很...

2021-10-12 15:24:11 255

转载 error: ‘for’ loop initial declarations are only allowed in C99 mode (改Makefile)

c – 强制C99在CMake(使用’for’循环初始声明)2019-04-25C&C++编程之家https://www.jb51.cc编程之家收集整理的这篇文章主要介绍了c – 强制C99在CMake(使用’for’循环初始声明),编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。我一直在寻找便携式方式来强制CMake启用编译器的C99功能,以避免以下gcc错误:error: ‘for’ loop initial declarations are...

2021-09-06 17:40:53 591

转载 AES-GCM

AES:设AES加密函数为E,则 C = E(K, P),其中P为明文,K为密钥,C为密文。也就是说,把明文P和密钥K作为加密函数的参数输入,则加密函数E会输出密文C。AES为分组密码,分组密码也就是把明文分成一组一组的,每组长度相等,每次加密一组数据,直到加密完整个明文。在AES标准规范中,分组长度只能是128位,也就是说,每个分组为16个字节(每个字节8位)。密钥的长度可以使用128位、192位或256位。密钥的长度不同,推荐加密轮数也不同。AES算法属于典型的对称算法。AES算法具体.

2021-08-31 00:12:26 1407

转载 RSA密钥长度、明文长度和密文长度

RSA密钥长度、明文长度和密文长度本文整理RSA加解密中必须考虑到的密钥长度、明文长度和密文长度问题知识,对第一次接触RSA的开发人员来说,RSA算是比较复杂的算法,以后还会补充几篇RSA基础知识专题文章,用最简单最通俗的语言描述RSA,既方便自己温习,也方便各位新入门的朋友参考,其实RSA算法应用也很简单,RSA的复杂度是因为数学家把效率和安全也考虑进去的缘故。本文先只谈密钥长度、明文长度和密文长度的概念知识,RSA的理论及示例等以后再谈。提到密钥,我们不得不提到RSA的三个重要大数:公钥指数

2021-08-27 09:41:21 5482

转载 Linux内核 runtime_PM 框架

Linux内核 runtime_PM 框架runtime PM (runtime power management) 简介:怎样动态地打开关闭设备的电源 ? 最简单的方法:在驱动程序中,open时打开电源,在close时关闭电源。但是有一个缺点,当多个App使用该设备时可能造成干扰。解决方法:给驱动添加计数值,当该值大于0时打开电源,等于0时关闭电源。多在ioctl中进行控制,例如alsa的驱动代码runtime PM只是提供辅助函数,比如:(1).增加计数/减少计数(2).使能r

2021-08-23 17:36:53 2429

转载 ICMP包文浅析

ICMP包文浅析https://www.cnblogs.com/iiiiher/p/8513748.htmlIP数据包报头(IPV4和IPV6比较)每行32bit,4字节,前5行一共20字节version:版本号,4bit IHL:IP头部长度,4bit type of service:服务类型,标记/识流量,8bit total length:IP数据包总长度,16bit identification:在网络层区分流量,不同流量产生不同的标识符,流量重组,16bit flag

2020-12-10 13:58:21 3760

原创 linux 命令ls /du用法

copyhttps://www.cnblogs.com/xueqiuqiu/p/7635722.htmlls的用法ls -l |grep "^-"|wc -l或find ./company -type f | wc -l 查看某文件夹下文件的个数,包括子文件夹里的。ls -lR|grep "^-"|wc -l 查看某文件夹下文件夹的个数,包括子文件夹里的。ls -lR|gr...

2019-08-27 15:59:47 201

翻译 协议栈的部分笔记 -- ARP条目的类型

复制https://www.2cto.com/kf/201804/734992.htmlARP条目的类型:? 1 2 3 4 5 6 7 8 /* ARP Flag values. */ #define ATF_COM 0x02 /* completed entry (ha...

2019-08-15 17:37:12 376

原创 linux学习文档

汇总:链接:http://pan.baidu.com/s/1pLk8SSr 密码:p6b6,如有帮助,还请不吝“推荐”。1.《1、2序和硬件基础.pdf》,链接:http://pan.baidu.com/s/1kVFjoTh 密码:powh;2.《3中断机制.pdf》,链接:http://pan.baidu.com/s/1jIC31l0 密码:fbla;3.《4进程描述.pdf》...

2019-07-31 11:28:10 411 1

转载 vim 常用配置

1、安装NERDTreehttps://my.oschina.net/VASKS/blog/388907最新的版本 https://github.com/scrooloose/nerdtree安装步骤:wget http://www.vim.org/scripts/download_script.php?src_id=17123 -O nerdtree.zip unzip ne...

2019-06-19 17:30:33 181

转载 Ubuntu 14.4 sudo apt-get update 出现错误

最初是sudo apt-get install python3-wheel 出现依赖关系,根据网上信息说需要更新sources.list。但是一直更新失败。参考https://www.cnblogs.com/zlslch/p/6860229.htmlUbuntu 14.4 sudo apt-get update 出现错误Reading package lists... Done...

2019-05-18 18:37:30 508

原创 goto编程练习

for()的初始化要放到JUMP上边,不然i会一直为1.for()的i++也不能放到括号里边,不然i永远为0.

2017-10-27 11:02:33 286

空空如也

空空如也

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

TA关注的人

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