分类目录


一、概述 在Linux内核中,EXPORT_SYMBOL宏允许内核模块导出符号(通常是函数或变量),使得其他模块可以在它们自己的代码中使用这些符号。这是一种模块间通信的机制,允许模块共享代码而不需要将
2024-12-22 20:45:58
    
阅读数: 324
    
评论数: 0

一、概述 Linux下内存管理是通过段页式管理,内存分配是以页为单位,而页是通过段管理,各个段之间是独立的。 二、BSS段 Block Started by Symbol的简称,是用来存储程序中未初
2024-12-22 20:45:32
    
阅读数: 821
    
评论数: 0

一、概述 内核中init_task变量是进程0使用的进程描述符,也是Linux系统中第一个进程描述符。 smp amp bmp 非对称多处理(Asymmetric multiprocessin
2024-12-22 20:45:08
    
阅读数: 293
    
评论数: 0

一、概述 在kernel进入c语言阶段后,会开始执行start_kernel函数,它负责进行kernel正式运行前各个功能的初始化:打印一些信息、内核工作城要的模块的初始化被依次调用(譬如内存管理、调
2024-12-22 20:42:24
    
阅读数: 395
    
评论数: 0

在bootloader的帮助下,内核被载入到内存中,内核映像被加载到内存并获得控制权之后,内核启动流程开始。通常,内核映像以压缩形式存储,并不是一个可以执行的内核。因此内核的首要工作是自解压内核映像。
2024-12-22 20:41:40
    
阅读数: 289
    
评论数: 0

一、概述 在Linux内核中,debug_objects是一个用于对象生命周期检测的调试框架,它能够帮助开发者发现对象使用中的错误,比如在对象完全初始化之前使用它们,或者在释放后再次使用(通常称为
2024-12-22 20:40:39
    
阅读数: 395
    
评论数: 0

一、概述 在Linux内核中,控制组(cgroups)是一个功能,它允许内核对进程进行分组,并对这些分组施加不同类型的资源限制和监控。控制组可以用来限制资源使用(如CPU时间、系统内存、网络带宽等),
2024-12-22 20:40:23
    
阅读数: 335
    
评论数: 0

一、wc命令 wc(word count)命令是用来计算字数的,但它也可以用来计算行数。要统计一个文件的行数,可以使用以下命令: wc -l filename 如果你想统计一个目录下所有.c文件的行
2024-12-22 20:40:05
    
阅读数: 258
    
评论数: 0

一、概述 cmake是一个跨平台的编译自动配置工具,它并不直接构建最终的软件,它只是通过读取CMakeLists.txt配置文件,然后按配置输出定义式的Makefile或project文件。 二、变量
2024-12-22 20:39:49
    
阅读数: 291
    
评论数: 0

一、概述 在Linux环境下,pthread_rwlock_t 是一个用于实现读写锁的数据类型,它属于POSIX线程(pthreads)库。读写锁允许多个线程同时读取共享数据,但是如果一个线程想要写入
2024-12-22 20:39:32
    
阅读数: 279
    
评论数: 0

一、概述 在Linux系统中,sem_t 是 POSIX 信号量的数据类型,定义在 <semaphore.h> 头文件中。POSIX 信号量用于进程或线程间的同步,它可以用来保护共享资源或者在进程/线
2024-12-22 20:38:52
    
阅读数: 436
    
评论数: 0

一、概述 在Linux系统中,chmod 是一个用于更改文件或目录权限的命令。chmod 的名称来源于 "change mode" 的缩写。文件和目录的权限决定了谁可以读取、写入或执行该文件。 文件和
2024-12-22 20:38:10
    
阅读数: 213
    
评论数: 0

1、指定cmake的最小版本 CMAKE_MINIMUM_REQUIRED(VERSION 2.8) 这行命令是可选的,也可以不写这句话,但如果CMakeLists.txt文件中使用了一些高版本cma
2024-12-22 20:37:49
    
阅读数: 254
    
评论数: 0

数组指针 是一个指向数组的一个指针. int (*p)[4]; char (*p)[4]; ()操作符和[]优先级相等, 从左向右进行运算, 因此p先和()里的*结合, 所以断定这是指针, 然后再和[
2024-12-22 20:37:18
    
阅读数: 278
    
评论数: 0

C语言允许用户使用typedef关键字来定义自己习惯的数据类型名称。 typedef的4种用法 1、为基本数据类型定义新的类型名 系统默认的所有基本类型都可以利用typedef关键字来重新定义类型名,
2024-12-22 20:37:03
    
阅读数: 283
    
评论数: 0

修饰变量的声明 例如: 若a.c中需要用b.c中的变量 int v,可以在a.c中声明extern int v,然后就可以引用变量v。能够被其他模块extern引用到的变量通常是全局变量。 还有一点是
2024-12-22 20:36:37
    
阅读数: 335
    
评论数: 0

第1章 认识对象 1.面向对象分析(object-oriented analysis,OOA)的主要任务是分析问题域中的对象、对象之间的关系,然后构造出该问题域的分析模型。分析模型必须简洁、明确地抽象
2024-12-22 20:36:13
    
阅读数: 360
    
评论数: 0

第一章 C++初步认识 C++对C的“增强”,表现在两个方面: (1)在原来面向过程的机制基础上,对C语言的功能做了不少扩展 (2)增加了面向对象的机制   面向对象和面向过程不是矛盾的,而是各有用途
2024-12-22 20:34:52
    
阅读数: 363
    
评论数: 0

C++标准每5年会有一个新版本,1998年的C++98、2003年的C++03、2007年的C++TR1、2011年的C++11. 转换操作符 static_cast 将一个值以符合逻辑的方式转型。这
2024-12-22 20:31:10
    
阅读数: 405
    
评论数: 0

组织和策略问题 第0条 不要拘泥于小节(了解哪此东本西不应该标准化) 编程规范不应施加个人喜好或者过时的做法。 第1条 在高警告级别干净利落地进行编译 高度重视警告:使用编译器的最高警告级别。应该要求
2024-12-22 20:25:46
    
阅读数: 402
    
评论数: 0