自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Ubuntu 22.04.3 LTS GNOME 42.9版本 内存泄漏问题修复

执行命令 "gnome-extensions list"获取gnome拓展。关闭这个拓展即可解决内存泄漏,如果还有内存泄漏,可以尝试关闭其他拓展。

2024-04-24 15:22:19 227

原创 调用系统IO实现文件读写

Linux 下一切皆文件1、在UNIX、Linux环境下文件具有特别重要的意义,它们把设备、服务都抽象成了文件, 而在控制这些设备、使用这些服务时就用一套简单而统一的接口。2、程序可以像访问磁盘上文件一样简单的控制串口、网络、打印机等设备。3、大多数情况下只需要五个基本的系统调用(open/close/read/write/ioctl)就可以对设备进行控制。4、系统中的任何对象都可以被当作特殊类型的文件,如:目录。文件描述符1、非负整数2、表示一个打开的文件,像FILE*一样。3、由

2021-09-25 21:53:47 155

原创 系统与内存管理

内存管理的层次划分STL 智能指针,可以自动分配/释放内存资源 调用C++C++ new/delete运算符,构造/析构函数 调用标准C标准C malloc/calloc/realloc/free 调用POSIX接口POSIX brk/sbrk 调用LinuxLinux mmap/munmap 调用kernelKernel kmalloc/vmalloc

2021-09-24 21:40:45 87

原创 静态库与共享库的创建与使用

库 也叫代码库,把一个些目标文件合并在一起方便使用,有静态库和共享库两种。 静态库:在链接时把库的二进制指令复制到调用模块中。共享库:会和调用者一起加载到内存,当执行调用语句时会从程序的调用位置跳转到共享库中运行。优缺点: 静态库的优点是运行速度快,但维护麻烦,当静态库中人内容更新后需要重新编译程序, 使用静态库编译出的可执行文件会比共享库的要大。 共享库的优点是使用方便,共享库如果发生变化不需要重新编译程序, 使用它编译出的可执行文件比使用静态库要小,

2021-09-23 23:23:39 330

原创 GUN编译工具

通过gun编译器构建可执行文件的过程 gcc -E code.c -o code.i -> code.i gcc -S code.i -> code.s gcc -c code.s -> code.o gcc code.o ... -> a.out 参数: -E 预处理 -S 产生汇编文件 -c 只编译不链接 -o 指定输出文件的名字 -Wall 尽可能多的产生警告 (一般调试项目都要加上)

2021-09-23 23:03:11 1249

原创 10种排序算法中常用的其中8种(C语言实现)

//显示函数void show_sort_result(const char* name,int* arr,size_t len){ printf("%10s:",name); for(int i=0; i<len; i++) { printf("%d ",arr[i]); } printf("\n");}//冒泡排序void bubble_sort(int* arr,size_t len){ bool flag = true; //用于体现冒泡的数据敏感性 f

2021-09-22 23:02:03 55

原创 数据结构常考简答题

链式存储结构与顺序存储结构的优缺点链式结构:相邻数据元素可随意存放,但所占存储空间分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针 优点:插入删除快,存储空间可以动态分配,理论上可以无限添加 缺点:查找慢,存储同样多的数据,因为需要存储结点,需要的空间大于顺序结构顺序结构:顺序存储时,相邻数据元素的存放地址也相邻,要求内存中可用存储单元的地址必须是连续的 优点:查找快,可以使用二分查找 缺点:插入删除慢,存储密度大,存储空间利用率高,存储空间固定介绍一下栈和队列两种结构的特点栈

2021-09-22 22:47:27 1364

原创 数组表示的队列和栈

队列#include <stdio.h>#include <stdlib.h>#include <stdbool.h>/*队列:功能受限的表结构,有两个端口管理数据,一个端口只能进,另一个端口只能出(FIFO)。*/#define TYPE inttypedef struct QueueArray{ TYPE* arr; size_t len; int rear; //队尾下标 0 int front; //队头下标 0}QueueAr

2021-08-19 19:19:22 68

原创 预处理指令

各种预处理指令程序员所编写的C代码并不能被直接编译,而是需要一段程序预先翻译成标准的C代码,负责翻译的程序叫预处理器,翻译的过程叫预处理,被翻译的代码叫预处理指令,所有预处理指令都以#开头。gcc -E file.c 把预处理的结果显示到屏幕上gcc -E file.c -o file.i 把预处理的结构输出到文件中头文件包含指令#include 把头文件的内容插入到当文件中。#include <> 从系统指定的路径下查找头文件,并插入到当前文件中。#include "" 先从

2021-08-16 17:30:29 95

原创 堆内存管理

堆内存管理C语言中没有管理堆内存的语句,而是由标准库提供一套函数来管理堆内存,calloc、free、malloc、realloc。 #include <stdlib.h> void *malloc( size_t size ); 功能:向系统申请一块堆内存 size:内存块的字节数 返回值: 成功 返回内存块的首地址 失败 返回NULL使用malloc申请的内存,里面的内存是随机的、不确定的,如果需要对内存进行初始化可以使用以下函数: #include

2021-08-16 15:44:09 107

原创 指针的概要

什么是指针指针是一种数据类型,使用它可以定义指针变量,这种变量里存储是整数,这种整数代表了内存的编号也就是地址,使用指针变量可以访问对应的内存,具体访问的多个字节由指针的类型决定。如何定义指针例如 : int *p;这时,指针变量p被定义,p指向int类型变量,也可以理解成指针变量p中存储着int类型变量的地址。定义指针时的一些问题1.由于指针变量的用法与普通变量不同,为了避免与普通变量混淆,指针变量一般以p结尾。2.指针变量不能连续定义3.指针变量与普通变量一样默认值是随机(野指针),为了

2021-08-01 23:36:21 77

原创 feof函数的正确使用方式(大概)

feof的使用之前写代码的时候,喜欢直接使用while(0==feof(frp))

2021-07-18 21:20:47 2891

原创 常见的Linux指令

常见的Linux指令文件相关的:touch 创建一个空白文件、rm 删除文件、cp 拷贝文件、mv 移动文件cat 查看文件内容,输出所有文件的内容到屏幕、more 只显示第一屏,空格显示下一屏目录相关的:mkdir 新建一个文件夹、rmdir 删除一个空的文件夹rm -rf 删除非空文件夹、cp -frp 复制目录、cd 进入某个目录ls 显示文件夹中文件、ls-l 显示文件夹文件的详细信息、ls-a显示隐藏内容"."开头的文件网络相关的:ping 测试网络是否联通、ifconfig

2021-07-18 17:27:36 63

空空如也

空空如也

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

TA关注的人

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