线性dp:最长公共子串
最长公共子串 阅读本文前可以先了解“动态规划方法论”,在我之前讲过的文章有讲过。 动态规划方法论 本文讲解的题与leetcode718.最长重复子数组,题意一模一样,阅读完本文以后可以去挑战这题。 力扣链接 题目叙述: 给定两个字符串,输出其最长公共子串的长度。 输入 ABACCB...[2024/8/26]
CMake构建学习笔记6-giflib库的构建
前面构建的zlib、libpng、libjpeg和libtiff都提供了CMakeList.txt文件,因此都可以通过CMake进行构建。不过有的依赖库是并没有CMakeList.txt文件,也就是官方没有提供CMake的构建方式,例如本篇要说的GIFLIB。GIFLIB是一个开源的C库,用于处...[2024/8/26]
C语言中的断言函数assert
简介 a ert 是 C 语言中的一个宏,用于在程序运行时进行条件检查,主要用于调试目的。它在 <a ert.h> 头文件中定义,用于验证程序中的假设条件是否成立,如果不成立,程序将打印错误信息并终止执行。 特点 调试用途:主要用于捕获程序中的逻辑错误或不期望的条件。 可移除:通过...[2024/7/29]
C语言指针易混淆知识点总结
指针 定义 指针是一个变量,存储另一个变量的内存地址,它允许直接访问和操作内存中的数据,使得程序能够以更灵活和高效的方式处理数据和内存。 获取变量地址:使用取地址符 &。 访问地址上的数据:使用解引用符 *。 例子1 指针是存储另一个变量地址的变量。通过使用取地址符 & 和...[2024/7/23]
SDL3 入门(5):纹理渲染
创建纹理 有三个 API 可以用来创建纹理: SDL_CreateTexture 参数少,使用方便,适用于创建简单的纹理 SDL_CreateTextureFromSurface 适用于从已有图像数据创建纹理 SDL_CreateTextureWithProperties 可以指定各种属性,...[2024/7/15]
[TinyRenderer] Chapter1 p3 Line
(注:本小节不是对划线算法事无巨细的证明,如果你需要更加系统的学习,请跳转至文末的参考部分) 如果你是一名曾经学习过图形学基础的学生,那么你一定对画线算法稔熟于心,中点划线算法,Bresenham算法。其中,现代光栅化器中使用最多的就是Bresenham算法,它以去除了除法和浮点运算而著称。 ...[2024/6/13]
3个月搞定计算机二级C语言!高效刷题系列进行中
前言 大家好,我是梁国庆。 计算机二级应该是每一位大学生的必修课,相信很多同学的大学flag中都会有它的身影。 我在大学里也不止一次的想要考计算机二级office,但由于种种原因,备考了几次都不了了之。 这一次我想换个目标! 备考计算机二级C语言 今天山东省考试院发布了关于2024年9月...[2024/6/13]
STM32 + RT-Thread + LVGL
一、基本信息 MCU:STM32F103ZET6 RT-Thread:5.0.2 LVGL:8.3.11 LCD:ST7735s 编译环境:RTThread studio 二、LVGL 移植要求 16、32或64位微控制器或处理器 建议速度大于16 MHz 闪存/ROM: > 64 k...[2024/6/11]
进程间通信
进程间通信 1.什么是通信 数据传输:一个进程需要将自己的数据传输给另一个进程 资源共享:多个进程同时共享一个资源 进程事件:一个进程向一组(或一个)进程通知某一事件,如:子进程结束要通知父进程来回收资源 进程控制:有些进程需要知道另一个进程的状态,控制拦截另一个进程陷入异常等,如:gdb调试 ...[2024/6/11]
数组降维、函数栈帧、地址空间、可变参数原理剖析
目录数组和指针多维数组的物理结构证明数组a和&a不同数组与指针的差别之一什么时候数组名表示整个数组?数组训练理解指针与数组的题所有的数组,都可以看成一维数组.所有的数组传参,最终都会降维成一维数组函数函数的地址函数的规范内存管理malloc返回给用户的只有申请内存的起始地址,那free是...[2024/5/22]
开源相机管理库Aravis例程学习(二)——连续采集multiple-acquisition-main-thread
目录简介例程代码函数说明arv_camera_set_acquisition_modearv_camera_create_streamarv_camera_get_payloadarv_buffer_newarv_stream_push_bufferarv_camera_start_acquis...[2024/4/15]
开源相机管理库Aravis例程学习(一)——单帧采集single-acquisition
目录简介源码函数说明arv_camera_newarv_camera_acquisitionarv_camera_get_model_namearv_buffer_get_image_widtharv_buffer_get_image_height 简介 本文针对官方例程中的第一个例程:si...[2024/4/10]
关于基环树的一切
观前须知 笔者的博客主页 声明 本文使用 CC BY-NC-SA 4.0 许可。 本文为笔者在 OI 学习中的复习向学习笔记。 部分内容会比较简略。 如有好的习题会不断补充。 知识简介 定义 基环树是一个有 \(n\) 个点 \(n\) 条边的连通图。 因为树有 \(n\) 个点 \(...[2024/4/8]
【Learning eBPF-3】一个 eBPF 程序的深入剖析
从这一章开始,我们先放下 BCC 框架,来看仅通过 C 语言如何实现一个 eBPF。如此一来,你会更加理解 BCC 所做的底层工作。 在这一章中,我们会讨论一个 eBPF 程序被执行的完整流程,如下图所示。 一个 eBPF 程序实际上是一组 eBPF 字节码指令。因此你可以直接使用这种特定...[2024/4/8]
[apue] 进程控制那些事儿
进程标识 在介绍进程的创建、启动与终止之前,首先了解一下进程的唯一标识——进程 ID,它是一个非负整数,在系统范围内唯一,不过这种唯一是相对的,当一个进程消亡后,它的 ID 可能被重用。不过大多数 Unix 系统实现延迟重用算法,防止将新进程误认为是使用同一 ID 的某个已终止的进程,下面这个例...[2024/3/29]
解密C语言选择结构:掌握条件语句与分支逻辑的利器
?? 欢迎大家来到贝蒂大讲堂?? ????养成好习惯,先赞后看哦~???? 所属专栏:C语言学习 贝蒂的主页:Betty‘s blog 引言 C语?是结构化的程序设计语?,这?的结构指的是顺序结构、选择结构、循环结构。为什么有着三种结构呢,大家其实可以想象一下,生活中的绝大数事情...[2024/2/23]
精通C语言:打造高效便捷的通讯录管理系统
?? 欢迎大家来到贝蒂大讲堂?? ????养成好习惯,先赞后看哦~???? 所属专栏:C语言项目 贝蒂的主页:Betty‘s blog 引言: 在我们大致学习完C语言之后,我们就可以利用目前所学的知识去做一些有意思的项目,而今天贝蒂就带大家完成一个通讯录的简易实现, 本章你可...[2024/2/18]
使用C语言构建一个独立栈协程和共享栈协程的任务调度系统
使用了标准库头文件 <setjmp.h>中的 setjmp 和 longjmp两个函数,构建了一个简单的查询式协作多任务系统,支持独立栈和共享栈两种任务。 其中涉及到获取和设置栈的地址操作,因此还需要根据不同平台提供获取和设置栈的地址操作(一般是汇编语言,因为涉及到寄存器) 该调...[2024/2/7]
c语言实现内存池
概要 所谓内存池,顾名思义和线程池的设计原理是一样的,为了减少频繁申请释放内存而带来的资源消耗,减少释放内存后产生的内存碎片。 设计理念 为了方便管理内存池的设计通常是划分出一定数量的内存块,这些内存块的长度是一样的; 用户申请内存块时返回空闲的内存块地址,如果内存块使用完毕就释放该内存块,将...[2024/2/7]
[数据结构] 数组与特殊矩阵
写在前面 偷懒,先写了数组,列表要画图,所以今天就先不写了 数组的定义 数组是由n个相同类型的数据元素构成的有限序列。每个数据元素被称为一个数组元素,每个元素在n个线性关系中的序号称为该元素的下标,下标的取值范围称为数组的维界。 数组与线性表的关系:数组是线性表的推广。一维数组可视为一个线性...[2024/2/7]
探索C语言结构体:编程中的利器与艺术
?? 欢迎大家来到贝蒂大讲堂?? ????养成好习惯,先赞后看哦~???? 所属专栏:C语言学习 贝蒂的主页:Betty‘s blog 1. 常量与变量 1. 什么是结构体 在C语言中本身就自带了一些数据类型,如:char,int,float,double等数据类型都被称为内置类...[2024/2/7]
探索C语言的数据类型:解密编程世界的核心秘密
?? 欢迎大家来到贝蒂大讲堂?? ????养成好习惯,先赞后看哦~???? 所属专栏:C语言学习 贝蒂的主页:Betty‘s blog 1. 常量与变量 1.1 常量 (1) 常量的概念 常量顾名思义就是无法改变的量,比如一周有7天,一天有24小时,这些都是无法改变的量。 (2)...[2024/2/5]
揭秘C语言的心脏:深入探索指针与数组的奥秘
?? 欢迎大家来到贝蒂大讲堂?? ????养成好习惯,先赞后看哦~???? 所属专栏:C语言学习 贝蒂的主页:Betty‘s blog 1. strlen()和sizeof的区别 名称 区别 sizeof 1. sizeof是操作符 2. sizeof计算操作数...[2024/2/2]
初识C语言:掌握未来的编程利器
? ?? 欢迎大家来到贝蒂大讲堂?? ? ????养成好习惯,先赞后看哦~???? ? 所属专栏:C语言学习 ? 贝蒂的主页:Betty‘s blog 1. C语言是什么 在我们生活中,我们和父母、朋友、老师交流时候使用的就是语...[2024/1/26]
程序启停分析与进程常用API的使用
进程是程序运行的实例,操作系统为进程分配独立的资源,使之拥有独立的空间,互不干扰。 空间布局 拿c程序来说,其空间布局包括如下几个部分: 数据段(初始化的数据段):例如在函数外的声明,int a = 1 block started by symbol(未初始化的数据段):例如在函数外的声...[2024/1/26]
什么是革命性技术eBPF?为什么可观测性领域都得用它
公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享。 如果有一种技术可以监控和采集任何应用信息,支持任何语言,并且应用完全无感知,零侵入,想想是不是很激动,那么这个技术是什么呢?就是eBPF,它应该是最近一两年非常热门的技术名词,我相信你或多或少都看到过,但可能不知...[2023/12/29]
C 语言教程:条件和 if...else 语句
C 语言中的条件和 if...else 语句 您已经学习过 C 语言支持数学中的常见逻辑条件: 小于:a < b 小于或等于:a <= b 大于:a > b 大于或等于:a >= b 等于:a == b 不等于:a != b 您可以使用这些条件来根据不同的决策执行不...[2023/12/26]
CatFly【汇编代码还原】
CatFly【难度:1】 题目界面 下载附件,发现是dll文件,放到linux中运行一下,运行界面如图所示: 从上图中可以看到两处字符串,上面的字符串不断滚动,下方字符串在次数上不断累加,猜测上方字符串与flag相关。 静态调试 打开IDA,找到main函数 方便分析,此处只粘...[2023/12/22]
一文带你掌握C语言的分支结构
C语言分支结构详解 1. if 语句 在本篇博客文章中,我们将深入探讨C语言中的if语句及其相关用法。if语句是一种用于条件判断的分支语句,它允许我们根据条件的真假来执行不同的代码块。 1.1 if 语句的基本语法和用法 if语句的基本语法如下所示: if (条件) { 条件为真...[2023/12/1]
musl中strlen源码实现和分析
最近在学习《C 和指针》的第 6 章指针部分,在 6.12 章节看到了 strlen 函数的实现,联想到最近有在看 musl 的源码,于是就把 musl 中 strlen 的源码认真地分析了一下,发现源码中有一些有意思的点,特地写这篇文章跟各位感兴趣的小伙伴分享一下。本文重点对 musl 的 s...[2023/11/13]
高精度加法(C语言实现)
高精度加法(C语言实现) 介绍 众所周知,整数在C和C++中以int ,long,long long三种不同大小的数据存储,数据大小最大可达2^64,但是在实际使用中,我们仍不可避免的会遇到爆long long的超大数运算,这个时候,就需要我们使用高精度算法,来实现巨大数的运算。 高精度的...[2023/11/6]
记一次有趣的 buffer overflow detected 问题分析
PS:要转载请注明出处,本人版权所有。 PS: 这个只是基于《我自己》的理解, 如果和你的原则及想法相冲突,请谅解,勿喷。 环境说明 无 前言 在我开发的一个实验和学习库中,在很久以前全面启用了编译器的sanitize功能。 这次报错的程序,是我这个库中某个模块的单元测试模块。...[2023/10/23]
getc()、getchar()、getch() 和 getche() 的区别
所有这些函数都从输入中读取一个字符并返回一个整数值。返回整数以容纳用于指示失败的特殊值。EOF值通常用于此目的。 getc() ????它从给定的输入流中读取单个字符,并在成功时返回相应的整数值(通常是读取字符的ASCII值)。失败时返回EOF。 ????语法: int getc(FILE ...[2023/10/16]
CUDA C编程权威指南:2.2-给核函数计时
本文主要通过例子介绍了如何给核函数计时的思路和实现。实现例子代码参考文献[7],只需要把相应章节对应的CMakeLists.txt文件拷贝到CMake项目根目录下面即可运行。 1.用CPU计时器计时(sumArraysOnGPU-timer.cu)[7] ??在主函数中用CPU计时器测试向量...[2023/10/9]
Programming abstractions in C阅读笔记:p132-p137
《Programming Abstractions In C》学习第53天,p132-p137,3.2小节“strings”总结如下: 一、技术总结 3.2小节介绍了字符串的用法: 1.C语言是没有字符串(string)这种数据类型的,但是实际的场景中又很需要这种数据类型,那怎么表示字符串呢...[2023/8/29]
NepCTF2023的wp
0x00 闲言碎语 2023.8.14 记录11-13的紧张刺激。46名结赛。 非常高兴能够参加NepCTF2023,以一个初出茅庐的新人的身份参加。ctf的乐趣在于学习和探索,同时我也有想证明自己的成分。 连续两天的凌晨四点睡觉,让我体会着比赛的魅力。每当我纠结一道题(code是第一晚,陌...[2023/8/16]
高精度加减乘除小数详解
高精度 简介 众所周知,在计算机中,每个数据类型都是有存储上限的,那么当数字特别大时应该怎么办呢?这时高精度就产生了。高精度的主要思想就是模拟手算,然后将结果存储到数组中去,相同的,小数也有精度问题,也可以使用相同的思路 存储 这里使用vector 来进行存储,因为这样不需要去管结果有多少位,...[2023/8/16]
背包问题变式总结
01背包 01背包完全装满求方案数 Acwing 278 数字组合 状态表示:二维 集合:所有从前 \(i\) 个数里面选,且和是 \(j\) 的选法的集合 属性:选法的数量 状态计算 分为 选 \(i\) 的所有方案 和 不选 \(i\) 的所有方案 不选 \(i\) 也就是从前...[2023/8/14]
OpenCV实战:从图像处理到深度学习的全面指南
本文深入浅出地探讨了OpenCV库在图像处理和深度学习中的应用。从基本概念和操作,到复杂的图像变换和深度学习模型的使用,文章以详尽的代码和解释,带领大家步入OpenCV的实战世界。 1. OpenCV简介 什么是OpenCV? OpenCV(Open Source Computer V...[2023/8/4]
【题解】Educational Codeforces Round 150(CF1841)
赛时过了 A-E,然后就开摆了,为什么感觉 C 那么无厘头[发怒][发怒] 排名:25th A.Game with Board 题目描述: Alice 和 Bob 玩游戏,他们有一块黑板。最初,有 \(n\) 个整数 \(1\)。Alice 和 Bob 轮流操作,Alice 先手。 轮到时...[2023/7/26]
C风格字符串
C风格字符串 关于C风格字符串的问题 ?C++有string为什么还要学习C风格字符串? 某些场景使用C风格字符串更方便、更高效 C标准库、Linux库 、开源库和数据库的接口函数,一定有C语言但不一定有C++(MySQL的接口函数只有C而没有C++) String是类,封装了C风格字符串(...[2023/7/10]
Dlang 与 C 语言交互(二)
Dlang 与 C 语言交互(二) 随着需求不断增加,发现好像需要更多的东西了。在官网上找不到资料,四处拼凑才有了本文的分享。 上一文(DLang 与 C 语言交互(一) - jeefy - 博客园)中说了非常简单了例子。本文试着向更高级的方法拓展。 文章链接(防止机器搬运):https...[2023/6/26]
逍遥自在学C语言 | 指针陷阱-空指针与野指针
前言 在C语言中,指针是一种非常强大和灵活的工具,但同时也容易引发一些问题,其中包括空指针和野指针。 本文将带你了解这两个概念的含义、产生原因以及如何避免它们所导致的问题。 一、人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小...[2023/6/26]
前端学习C语言 - 函数和关键字
函数和关键字 本篇主要介绍:自定义函数、宏函数、字符串处理函数和关键字。 自定义函数 基本用法 实现一个 add() 函数。请看示例: #include <stdio.h> 自定义函数,用于计算两个整数的和 int add(int a, int b) { a, b 叫形...[2023/6/19]
逍遥自在学C语言 | 枚举的那些事儿
前言 在C语言中,枚举是一种方便组织和表示一组相关常量的工具。枚举类型有助于提高代码的可读性和可维护性。本文将介绍C语言枚举的基本概念、语法和用法,以及一些高级技巧。 一、人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小白程序猿...[2023/6/9]
逍遥自在学C语言 | break-循环的中断与跳转
前言 在C语言中,break语句是一种控制流语句,它用于终止当前所在的循环结构(for、while、do-while)或者switch语句,从而跳出循环或者结束switch语句的执行。 一、人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一...[2023/6/7]
逍遥自在学C语言 | 条件控制的正确使用姿势
前言 在C语言中,有三种条件判断结构:if语句、if-else语句和switch语句。 一、人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。 二、if语句 基本语法 if (条件) { ...[2023/5/10]
C语言如何写类实现教程示例
目录引言操空MYSQL的C程序定义个 联合体+结构体 类型 Parameter 引言 以前用C++BUILDER 写类非常爽. 类把涉及数据相关的操作打包成一个类. 然后后期开发工程师可以继承啊, 这样提升了开发效率. 不过C语言注重的是执行效率, 类...[2023/4/26]
C 语言版线程池
一、初始线程池 1.1 何为线程池? 我们先来打个比方,线程池就好像一个工具箱,我们每次需要拧螺丝的时候都要从工具箱里面取出一个螺丝刀来。有时候需要取出一个来拧,有时候螺丝多的时候需要多个人取出多个来拧,拧完自己的螺丝那么就会把螺丝刀再放回去,然后别人下次用的时候再取出来用。 说白了线程池就是...[2023/4/17]
逍遥自在学C语言 | 位运算符>>的高级用法
前言 在上一篇文章中,我们介绍了<<运算符的高级用法,本篇文章,我们将介绍>> 运算符的一些高级用法。 一、人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。 二、优化除法运...[2023/4/17]