p0inter
码龄8年
求更新 关注
提问 私信
  • 博客:926,202
    社区:2
    问答:258
    动态:52
    926,514
    总访问量
  • 292
    原创
  • 348
    粉丝
  • 87
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:安徽省
加入CSDN时间: 2018-01-27

个人简介:生而自由,爱而无畏,保持热爱奔赴山海

博客简介:

qq_41683305的博客

查看详细资料
个人成就
  • 获得496次点赞
  • 内容获得92次评论
  • 获得2,276次收藏
  • 代码片获得5,050次分享
  • 博客总排名2,395,940名
创作历程
  • 50篇
    2022年
  • 57篇
    2021年
  • 137篇
    2020年
  • 87篇
    2019年
  • 4篇
    2018年
成就勋章
TA的专栏
  • python安全攻防
    18篇
  • C语言
    14篇
  • 算法
    10篇
  • Linux内核设计与实现
    26篇
  • linux系统编程
    5篇
  • Linux设备驱动开发
    4篇
  • FreeRTOS
    16篇
  • 软件使用
    4篇
  • Git
    1篇
  • PCB
    1篇
  • STM32
    11篇
  • 0day安全:软件漏洞分析技术
    1篇
  • 免杀专题
    25篇
  • win32汇编
    43篇
  • 内网安全
  • WEB安全
    7篇
  • PHP学习
    38篇
  • pwn
    11篇
  • cobalstrike4.0
    6篇
  • docker
    1篇
  • shellcode
    12篇
  • 语言通用
    1篇
  • 软件配置问题
    15篇
  • 树莓派
    1篇
  • 爬虫
    1篇

TA关注的专栏 1

TA关注的收藏夹 0

TA关注的社区 6

TA参与的活动 0

兴趣领域 设置
  • 嵌入式
    iot
  • 操作系统
    linux
  • 网络空间安全
    系统安全web安全安全架构
创作活动更多

AI 镜像开发实战征文活动

随着人工智能技术的飞速发展,AI 镜像开发逐渐成为技术领域的热点之一。Stable Diffusion 3.5 FP8 作为强大的文生图模型,为开发者提供了更高效的图像生成解决方案。为了推动 AI 镜像开发技术的交流与创新,我们特此发起本次征文活动,诚邀广大开发者分享在 Stable Diffusion 3.5 FP8 文生图方向的实战经验和创新应用 本次征文活动鼓励开发者围绕 Stable Diffusion 3.5 FP8 文生图方向,分享以下方面的内容: 1. 技术实践与优化 - Stable Diffusion 3.5 FP8 模型架构解析与优化技巧 - 文生图生成效果的提升方法与技巧 - 模型部署与加速策略,例如使用 Hugging Face、Diffusers 等工具 - 针对特定场景(例如二次元、写实风)的模型微调与定制化开发 2. 应用场景探索 - Stable Diffusion 3.5 FP8 在不同领域的应用案例分享,例如游戏设计、广告创意、艺术创作等 - 利用 Stable Diffusion 3.5 FP8 实现图像编辑、图像修复、图像增强等功能的探索 - 结合其他 AI 技术(例如 NLP、语音识别)构建更强大的应用 3. 创新应用与思考 - 基于 Stable Diffusion 3.5 FP8 的创新应用场景设计 - AI 镜像开发的未来发展方向的思考与展望 - 对 AI 镜像开发伦理、安全等问题的探讨

28人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

算法---链表

要反转链表的第一个节点是head,head的前面一个节点是pre,如果head是首节点,则pre等于NULL,要反转链表的最后一个节点的后一个节点是p。比如说我们要反转的是2,5,4,3,则head节点是2,pre是7,p是6;如果反转的是9,7,2,则head是9,pre是NULL,p是3.下面函数返回值是反转链表后的首节点,head是要反转链表的首节点,p是要反转链表的最后一个节点的后一个节点。在这里,我们约定数据元素类型是。反转全部元素,反转全部元素最后一个节点的下一个节点是NULL。......
原创
博文更新于 2022.07.20 ·
1197 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

内存重映射

#include <sys/mman.h> void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); int munmap(void *addr, size_t length);用户空间的mmap()会通过系统调用调用内核的do_mmap()函数。do_mmap()函数会:首先创建一个新的VMA并初始.......
转载
博文更新于 2022.07.08 ·
2416 阅读 ·
1 点赞 ·
0 评论 ·
12 收藏

进程上下文和中断上下文

文章目录进程的preempt_count变量thread_infopreempt_counthardirq相关softirq相关上下文进程的preempt_count变量thread_info在内核中,上下文的设置和判断接口可以参考 include/linux/preempt.h 文件,整个机制的实现都依赖于一个变量:preempt_count,这个变量被定义在进程struct task_struct的 thread_info域中 ,也就是线程描述符中,线程描述符被放在内核栈的底部,在内核中可以通过
转载
博文更新于 2022.07.08 ·
729 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

排序算法---快速排序、堆排序、冒泡排序

排序算法1 快速排序1 快速排序文章原地址:https://blog.csdn.net/morewindows/article/details/6684558快速排序的平均时间复杂度是0(NlogN),它采用了一种分治的策略,通常称其为分治法。该方法的基本思想是:先从数列中取出一个数作为基准数。分区:将大于这个数放到它的右边,小于等于它的数全放在它的左边再对左右区间重复第二步,直到各区间只要一个数虽然快速排序称为分治法,但分治法这三个字显然无法很好概括快速排序的全部步骤,因此我对快速排序做了
原创
博文更新于 2022.06.30 ·
1164 阅读 ·
2 点赞 ·
0 评论 ·
6 收藏

算法---KMP算法

字符串1 KMP算法状态机概述构建状态转移1 KMP算法原文链接:https://zhuanlan.zhihu.com/p/83334559先约定,本文用pat表示模式串,长度为M,txt表示文本串,长度为N,KMP算法是在txt中查找子串pat,如果找到,返回这个子串的起始索引,否则返回-1.用一张图演示一下KMP算法:KMP算法永不回退txt中的索引i,不走回头路。而是借助一个数组dp,dp数组中存储的信息把pat移到正确的位置继续匹配。KMP的难点在于计算dp数组,计算这个dp数组,之和
转载
博文更新于 2022.06.26 ·
350 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

同步---自旋锁

1 自旋锁的基本概念自旋锁最多只能被一个可执行线程持有,如果一个执行线程试图获得一个已经被使用的自旋锁,那么该线程就会一直进行自旋,等待锁重新可用。在任何时刻,自旋锁都可以防止多余一个的执行线程同时进入临界区。Linux内核实现的自旋锁是不可递归的,如果你请求一个你已经持有的自旋锁,那么你将会自旋,等待释放这个锁,由于自旋,释放这个锁的操作不会被执行,所以会一直处于自旋忙等待中,于是就被锁死了。自旋锁可以在中断处理程序中使用。在中断处理程序中使用自旋锁时,一定要在获取锁之前,首先禁止本地中断(当前处理
原创
博文更新于 2022.06.20 ·
2091 阅读 ·
0 点赞 ·
0 评论 ·
18 收藏

关于#linux#的问题:Linux内核各个段的数据怎么获取

发布问题 2022.05.27 ·
0 回答

Linux内存地址管理

在操作系统中,虚拟地址到物理地址转换是由MMU完成的,MMU转换的都是虚拟地址,所以访问数据,必须是虚拟地址,不能是物理地址,否则访问不了数据。进程访问的都是进程内虚拟地址,内核访问的都是内核虚拟地址,进程用不了内核虚拟地址,同样内核用不了进程内虚拟地址。...
原创
博文更新于 2022.06.02 ·
1366 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

进程虚拟地址管理

文章目录1 地址分布实际使用中的内存区域1 地址分布现在采用虚拟内存的操作系统通常都使用平坦地址空间,平坦地址空间是指地址空间范围是一个独立的连续空间(比如,地址从0扩展到429496729位地址空间),对于32位的操作系统而言,每个进程的虚拟地址空间都是0x00000000~0xC0000000,合计3G大小。进程的3G虚拟地址空间只有映射为物理地址空间,才能够被使用,那么进程是如何管理和分配它的3G虚拟地址空间呢?这就用到了分治思想,进程虚拟地址空间按照不同的访问属性和功能划分为不同的内存区
原创
博文更新于 2022.06.02 ·
464 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Linux内核设计与实现---进程地址空间

进程地址空间1 内存描述符分配内存描述符销毁内存描述符mm_struct与内核线程2 内存区域VMA标志VMA操作内存区域的树形结构和内存区域的链表结构实际使用中的内存区域3 操作内存区域find_vma()find_vma_prev()find_vma_intersection()4 mmap()和do_mmap():创建地址空间5 munmap()和do_munmap():删除地址空间6 页表1 内存描述符分配内存描述符销毁内存描述符mm_struct与内核线程2 内存区域VMA标志VMA
原创
博文更新于 2022.06.02 ·
1111 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux内核设计与实现---中断和中断处理程序

中断和中断处理程序1 中断2 中断处理程序3 注册中断处理程序4 编写中断处理程序共享的中断处理程序中断处理程序实例5 中断上下文6 中断处理机制的实现7 中断控制禁止和激活中断禁止指定中断线中断系统的状态1 中断2 中断处理程序3 注册中断处理程序4 编写中断处理程序共享的中断处理程序中断处理程序实例5 中断上下文6 中断处理机制的实现7 中断控制禁止和激活中断禁止指定中断线中断系统的状态...
原创
博文更新于 2022.05.27 ·
4760 阅读 ·
6 点赞 ·
0 评论 ·
43 收藏

Linux内核设计与实现---内核同步方法

内核同步方法1 原子操作原子整数操作原子位操作2 自旋锁其他针对自旋锁的操作自旋锁和下半部3 读-写自旋锁4 信号量创建和初始化信号量使用信号量5 读-写信号量6 自旋锁和信号量7 完成变量8 BKL9 禁止抢占10 顺序和屏障1 原子操作原子整数操作原子位操作2 自旋锁其他针对自旋锁的操作自旋锁和下半部3 读-写自旋锁4 信号量创建和初始化信号量使用信号量5 读-写信号量6 自旋锁和信号量7 完成变量8 BKL9 禁止抢占10 顺序和屏障...
原创
博文更新于 2022.05.26 ·
2487 阅读 ·
0 点赞 ·
0 评论 ·
11 收藏

linux系统编程---线程总结

线程总结1 线程的实现2 线程的属性3 线程的同步4 线程池https://zhuanlan.zhihu.com/p/3425737051 线程的实现2 线程的属性3 线程的同步https://www.zhihu.com/search?type=content&q=linux%E7%BA%BF%E7%A8%8B4 线程池https://www.zhihu.com/search?type=content&q=linux%E7%BA%BF%E7%A8%8B%E6%B1%A0..
原创
博文更新于 2022.05.25 ·
739 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

Linux设备驱动开发--- DMA

文章目录1 设置DMA映射缓存一致性和DMADMA映射一致映射流式DMA映射2 完成的概念3 DMA引擎API分配DMA从通道设置从设备和控制器指定参数DMA是计算机系统的一项功能,它允许设备在没有CPU的干预的情况下访问系统主存储器RAM,使CPU完成其他任务。DMA控制器是负责DMA管理的外设,在现代处理器和微控制器中都能发现它。DMA功能用于执行内存读写和写入操作而不占用CPU周期。当需要传输数据块时,处理器向DMA控制器提供源地址和目标地址以及总字节数。然后,DMA控制器会自动将数据从源传输到目
原创
博文更新于 2022.05.24 ·
6342 阅读 ·
8 点赞 ·
1 评论 ·
41 收藏

用户虚拟地址转化成物理地址,物理地址转换成内核虚拟地址,内核虚拟地址转换成物理地址,虚拟地址和对应页的关系

文章目录1. 用户虚拟地址转换成物理地址2. 内核虚拟地址转换成物理地址3. 物理地址转换成内核虚拟地址4 虚拟地址和对应页1. 用户虚拟地址转换成物理地址2. 内核虚拟地址转换成物理地址3. 物理地址转换成内核虚拟地址4 虚拟地址和对应页...
原创
博文更新于 2022.05.23 ·
2213 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

Linux设备驱动开发---设备树的概念

文章目录1 内核设备与驱动匹配函数在这篇文章中:https://blog.csdn.net/qq_41683305/article/details/124508716,我们介绍了平台设备驱动的基本概念,包括平台设备、平台驱动以及怎么匹配的,接下来我们来介绍匹配的具体细节以及设备的概念。1 内核设备与驱动匹配函数...
原创
博文更新于 2022.05.21 ·
3717 阅读 ·
4 点赞 ·
1 评论 ·
13 收藏

linux设备驱动开发---平台设备驱动程序

有些物理总线已为人熟知:USB、I2S、I2C、UART、SPI、PIC、SATA等。这种总线是名为控制器的硬件设备。由于它们是SoC的一部分,因此无法删除,不可发现,也称为平台设备。从SoC的角度来看,这些设备(总线)内部通过专用总线连接,而且大部分时间是专用的,专门针对制造商。从内核的角度来看,这些是根设备,未连接到任何设备,也就是未连接到任何总线上。这就是伪平台总线的用途,伪平台总线也称为平台总线,是内核虚拟总线,该总线实际不存在,用于连接不在内核所知物理总线上的设备和驱动程序。在下面的讨论中,平台
原创
博文更新于 2022.05.18 ·
1533 阅读 ·
2 点赞 ·
0 评论 ·
5 收藏

搜索---广度优先遍历、深度优先遍历、回溯法

广度优先搜索(BFS)广度优先搜索是按层来处理顶点的,距离开始点最近的那些顶点首先被访问,而最远的那些顶点则最后被访问。BFS的代码使用了一个队列。搜索的步骤:首先选择一个顶点作为起始顶点,将起始顶点放入队列中从队列首部选出一个顶点,将与之相邻并且没有被访问的结点依次加入到队列的队尾,然后访问这些与之相邻并且没有被访问过的结点,将队列队首的结点删去。按照步骤2处理队列中下一个结点,直到找到要找的结点或者队列中没有结点结束。void BFS(){ 定义队列; 定义备忘录,用于记
原创
博文更新于 2022.05.16 ·
2439 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

UNIX环境高级编程---进程间通信总结

进程间通信1 管道匿名管道命名管道2 消息队列3 信号量4 共享内存5 信号6 套接字总结Linux下的进程通信机制叫做IPC(InterProcess Communication),在Linux下有6大通信的方法,分别是:Socket、管道、信号、信号量、消息队列、共享内存。每个进程的用户地址空间都是独立的,一般而言是不能互相访问的,但内核空间是每个进程都共享的,所以进程之间要通信必须通过内核。1 管道匿名管道匿名管道是在内核中申请一块固定大小的缓冲区,程序拥有写入和读取的权利。匿名管道是半双
原创
博文更新于 2022.05.16 ·
1715 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

伙伴算法、slab机制、内存管理函数

文章目录
原创
博文更新于 2022.05.16 ·
2431 阅读 ·
2 点赞 ·
0 评论 ·
16 收藏
加载更多