自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux内核--文件系统

文件系统分层。

2025-03-29 17:02:17 1246

原创 linux文件I/O

每调用一次 readdir(),就会从 drip 所指向的目录流中读取下一条目录项(目录条目),并返回 struct dirent结构体指针,指向经静态分配而得的 struct dirent 类型结构,每次调用 readdir()都会覆盖该结构。一旦遇到目录结尾或是出错,readdir()将返回 NULL,针对后一种情况,还会设置 errno 以示具体错误。使用opendir()函数打开需要统计的文件所在的目录,返回一个指向目录流的指针。pathname:可以是绝对路径后者相对路径。

2024-05-28 20:02:43 1520

原创 软件架构设计(五)——异步接口实现

回调函数是一种特殊的函数,它作为参数传递给另一个函数,并在被调用函数执行完毕后被调用。回调函数通常用于事件处理、异步编程和处理各种操作系统和框架的API。回调:指被传入到另一个函数的函数。异步编程:指在代码执行时不会阻塞程序运行的方式。事件驱动:指程序的执行是由外部事件触发而不是顺序执行的方式。

2023-12-02 11:02:54 1377

原创 软件架构设计(三)——模块分层设计

所谓关注点是软件系统中 可能会遇到的多变的部分。为适应不同的场景,需要进行适应性的参数调整和驱动配置。关注点分离是将这部分组件设计成为相对独立的部分,使未来的系统更容易配置和修改。通过封装忽略细节,复杂系统含有多层抽象,从而有多个不同层次的架构(手段:过程抽象和数据抽象)横向分解:就是将一个层面分成相对独立的部分。设计使用纵向分解和横向分解两种方式。局部话设计和封装设计。

2023-11-09 00:40:52 33

原创 程序的生成和运行(二)——目标文件(ELF)

ELF文件格式 - 知乎ELF文件详解—初步认识-优快云博客【精选】readelf 和 objdump 例子详解及区别 (ELF文件说明)_objdump readelf-优快云博客ELF文件全称 “Executable and Linkable Format”,即可执行可链接文件格式是一种用于二进制文件、可执行文件、目标代码、共享库和core转存格式文件。

2023-10-25 20:19:44 48

原创 软件架构设计(二)——命名规范

1、驼峰命名法:混合使用大小写字母来构成标识符的名字。其中第一个单词首字母小写,余下的单词首字母大写。例如:printEmployeePaychecks(),函数名中每一个逻辑断点都有一个大写字母来标记2、匈牙利命名法匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域、类型等。这些符号可以多个同时使用,顺序是先m_(成员变量)、再指针、再简单数据类型、再其它。这样做的好处在于能增加程序的可读性,便于对程序的理解和维护。

2023-08-22 02:01:55 43

原创 软件架构设计(三)——基本编程规范

说明:如果一个函数只是在同一文件中的其他地方调用,那么就用static声明。使用static确保只是在声明它的文件中是可见的,并且避免了和其他文件或库中的相同标识符发生混淆的可能性。

2023-08-22 02:00:07 27

原创 shell脚本(一)——概述

var=$(expr 1 + 2) 有些需要转义比如expr 1 \* 5 ,在shell脚本中需要命令替换,因为返回的命令输出。echo 默认情况下,不需要使用引号将要显示的文本字符串划定出来。-n 文本输出不换行,文本需要带"". echo -n "hello world"另外,在字符串中(""内)可。默认情况下,shell脚本会以脚本中的最后一个命令的退出状态码退出。1.需要在文本中使用其中一种引号 ,而用另一种来将字符串划定起来。那是在当前Shell的子Shell中执行脚本。

2023-08-01 00:57:31 20

原创 GDB-core文件调试

将产生段错误时,所运行的可执行程序和core文件一起复制到编译服务器中,另外还需要将所运行的可执行程序所依赖的所有库全部复制到编译服务器中,并且保持库在设备中的相对位置,所在目录的位置,即保证路径要相同。/proc/sys/kernel/core_uses_pid:控制产生的core文件的文件名中是否添加pid作为扩展,如果添加则文件内容为1,否则为0。/proc/sys/kernel/core_pattern:可以设置格式化的core文件保存的位置和文件名,比如原来文件内容是core-%e。

2023-07-16 01:36:37 230

原创 GDB简介——应用场景

1. 启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。2. 在某个指定的地方或条件下暂停程序。3. 当程序被停住时,可以检查此时你的程序中所发生的事。4. 在程序执行过程中修改程序中的变量或条件,将一个bug产生的影响修正从而测试其他bug。5. 当程序 crash 时,可以检查 core 文件。

2023-07-16 01:36:03 9

原创 linux线程同步和竞争

同步和互斥

2023-06-10 16:45:17 15

空空如也

空空如也

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

TA关注的人

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