排序
Linux内核中常用的数据结构和算法
Linux内核代码中广泛使用了数据结构和算法,其中最常用的两个是链表和红黑树。 链表 Linux内核代码大量使用了链表这种数据结构。链表是在解决数组不能动态扩展这个缺陷而产生的一种数据结构。链...
深入了解Linux中的copy_{to, from}_user()(附代码)
深入了解Linux中的copy_{to, from}_user()(附代码) 引言 我们对copy_{to,from}_user()接口的使用应该是再熟悉不过吧。基本linux书籍都会介绍它的作用。毕竟它是kernel space和user space沟通...
Go语言包内文件和函数过多如何优雅组织?
Go语言大型包的优雅组织方法 Go语言项目发展过程中,包内文件和函数数量膨胀是常见问题,这会严重影响代码的可读性和可维护性。本文探讨如何有效组织Go语言包,特别是针对包内函数过多,以及使...
linux系统中以什么方式访问设备
linux系统中以文件方式访问设备,因为在Linux里面一切都是文件,设备对应的是设备文件,访问某个设备文件就等于在访问设备;在Linux中普通文件和目录文件保存在称为块物理设备的磁盘或者磁带上...
c++ 联合体怎么使用
联合体在 c++++ 中允许在同一内存位置存储不同类型的数据。其优点包括节省内存,缺点是可能导致不可预测的值。使用时应注意初始化和类型安全。联合体允许在同一内存位置存储不同类型的数据,如...
Linux驱动 | 在驱动中创建sysfs接口
前言 在一些linux开发板中,经常可以看到通过echo的方式来直接控制硬件或者修改驱动,例如: //灯灭 echo 0 >/sys/class/leds/firefly:blue:power/brightness //灯亮 echo 1 &...
你必须了解Linux的命名空间
本篇文章给大家带来了关于linux命名空间的相关知识,命名空间提供了虚拟化的一种轻量级形式,使得我们可以从不同的方面来查看运行系统的全局属性,希望对大家有帮助。 一、基本概念 命名空...
在Go语言中,结构体通过实现接口的方法是否真的实现了接口?
go语言接口的隐式实现机制常常令人困惑。本文将深入探讨go语言中结构体通过实现接口方法是否真正实现了接口,以及这种实现的有效性。 问题: Go语言中,结构体是否必须显式声明实现某个接口?仅...
linux crash 是什么文件夹
linux crash是用于存放生成的crash的文件夹,该文件夹默认存放在“/var/crash”中,而控制存放位置的文件是“/var/sysconfig/kdump”文件,用户可以通过安装kdump工具查看crash。 本教程操作环...
C语言如何延迟代码执行若干微秒
本文将深入探讨C语言中如何实现代码执行的微秒级延迟。笔者认为此内容颇为实用,因此特此分享,希望读者能从中有所收益。 C语言中的微秒级代码延迟 前言 在特定情境下,开发者可能需要在C语言程...
debian readdir使用有哪些技巧
在Debian系统中,readdir函数是用于遍历目录内容的系统调用。本文将分享一些高效使用readdir函数的技巧和最佳实践。 首先,确保包含必要的头文件。然后,使用opendir函数打开目标目录,获取目录...
一起分析Linux经典技巧之进程ID号
本篇文章给大家带来了linux中进程id号分析的相关知识,linux进程总是会分配一个号码用于在其命名空间中唯一地标识它们。该号码被称作进程id号,简称pid,下面就一起来看一下相关问题,希望对大...