C语言
wd_miracle
这个作者很懒,什么都没留下…
展开
-
Linux 内存管理简介
struct page :描述的是一个物理页, 内存管理的最小单元, 只描述的是物理页面本身, 程序和系统运行,存在数据的换入换出, 因此page中的数据和page无本质的联系. 数据结构定义在 : include/linux/mm_types.h 主要内容: (1) 页面状态(page-flags.h); (2) 页的类型: a. page cache/anonymous page; b. page_pool used by ne..原创 2021-11-11 22:31:00 · 1206 阅读 · 0 评论 -
数组/数组指针/指针数组的区别理解
/* 数组指针:首先是个指针,指向数组的指针,eg: int(*p)[10],p指向偶10个元素的int型数组(int(*)[10]p); 指针数组:首先是个数组,存储指针的数组,eg: int* p[10],p是数组名,存储的是10个 int型指针。 一维数组:一位数组名相当于一个指针,存放的是第0个元素首地址。 二维数组:二位数组名存放的是第0行的首地址,不是第...原创 2018-03-17 10:46:22 · 182 阅读 · 1 评论 -
memset正确使用方式
/* memset(void* s, int c, size_t n) 该函数是以 字节为单位 将s指向的地址开始写入n长度的c, 所以数据类型为char时,可以正确memset ; 如果是其他类型的数据就不行了,就得用循环实现了. *///#define LOOP_INIT_STRUCT#include <stdio.h>#include <strin...原创 2018-03-17 10:49:39 · 4715 阅读 · 0 评论 -
const和指针的三种组合
/* int *const p : p 指针的指向不能改变;(此时理解为const修饰的是p指针) int const* p / const int* p : p指向的地址空间的取值不能改变;(此时理解为const修饰的是p(理解为取值)) int const* const p : p指向的地址空间取值和指向都不能改变.编译的时候,如果编译器识别到被const修改的变量a,有代码有...原创 2018-03-17 22:43:51 · 793 阅读 · 0 评论 -
Linux系统调用添加(base linux kernel-4.4)
(1) 添加系统调用号: arch/arm64/include/asm/unistd32.heg: #define __NR_sysinfo 116__SYSCALL(__NR_sysinfo, compat_sys_sysinfo)(2)添加用户空间和kernel中对应函数的向量表: arch/arm/tools/syscall.tble...原创 2018-04-01 16:39:57 · 359 阅读 · 0 评论