07 Linux补充|秋招刷题|9月6日

目录

Linux

结构体内存字节对齐

静态变量static

空指针


Linux

结构体内存字节对齐

结构体内存字节要对⻬:

32位系统:4 8 32;64位系统:8 16 24

字节对⻬:字节对⻬是指在计算机中,各种类型数据按照⼀定的规则在空间上排列,以满⾜硬件平台对存储空间的处理要求。

静态变量static

(1)在修饰变量的时候,static 修饰的静态局部变量只执⾏初始化⼀次,⽽且延⻓了局部变量的⽣命周期,直到程序运⾏结束以后才释放。

(2)static 修饰全局变量的时候,这个全局变量只能在本⽂件中访问,不能在其它⽂件中访问,即便是 extern 外部声明也不可以。

(3)static 修饰⼀个函数,则这个函数的只能在本⽂件中调⽤,不能被其他⽂件调⽤。static 修饰的变量存放在全局数据区的静态变量区,包括全局静态变量和局部静态变量,都在全局数据区分配内存。初始化的时候⾃动初始化为 0。

(4)不想被释放的时候,可以使⽤static修饰。⽐如修饰函数中存放在栈空间的数组。如果不想让这个数组在函数调⽤结束释放可以使⽤ static 修饰。

(5)考虑到数据安全性(当程序想要使⽤全局变量的时候应该先考虑使⽤ static)。

栈区:先⼊后出(FILO)⾃动分配释放

队列:先⼊先出

malloc⽤法:开辟空间

free():释放malloc开辟的空间

动态分配内存原则:

(1)谁建⽴,谁释放;

(2)在程序设计时,应当预留⾜够的内存空间以避免频繁地进⾏内存分配和释放。


dmesg | tail 该命令会输出系统日志的最后10行

cat /proc/cpuinfo 显示CPU info的信息

cat /proc/interrupts 显示中断

cat /proc/meminfo 校验内存使用

cat /proc/swaps 显示哪些swap被使用

cat /proc/version 显示内核的版本

cat /proc/net/dev 显示网络适配器及统计

cat /proc/mounts 显示已加载的文件系统

clock -w 将时间修改保存到 BIOS


Linux系统下文件的是:目录文件、普通文件、设备文件

用"rm -i "系统会提示"是否真的删除"

列出一个目录下的所有文件需要使用命令 ls -a

在 Mac OS系统中怎样获取当前文件夹的路径?打开 terminal,把文件拖进terminal 窗口,自动显示路径。

空指针

每一个指针类型都有一个特殊的值-----"空指针"。空指针与同类型的其他指针值都不同,它"保证与任何对象或函数的指针值都不相等",也就是说空指针不会指向任何地方,它不是任何对象或函数的地址。简单点说,一个指针不指向任何数据,我们就称之为空指针,空指针用NULL表示。

cpp 复制代码
int* p=NULL;

我们用空指针NULL来初始化指针变量。

(1)我们常用的动态内存开辟函数,如malloc,calloc,realloc,如果它们开辟动态内存失败就会返回空指针,所以动态开辟函数后,都要判断是否开辟成功。

(2)空指针不等同于未初始化的指针,未初始化的指针通常指野指针,即空指针不是野指针,野指针可以指向任何地方(乱指一气),可能会造成非法访问内存地址,而空指针它不指向任何对象。

(3)在源码中用来表示空指针的常量是整数0,NULL使指针指向0,大多数系统中都将0作为不被使用的地址(所以上面才说NULL不指向任何数据),但也有些系统会使用0,任何把NULL定义为其它任意值,所以也不能认为NULL就等于0。

相关推荐
Fcy64818 分钟前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满19 分钟前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠40 分钟前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Gary Studio40 分钟前
rk芯片驱动编写
linux·学习
mango_mangojuice42 分钟前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习
主机哥哥1 小时前
阿里云OpenClaw部署全攻略,五种方案助你快速部署!
服务器·阿里云·负载均衡
Harvey9031 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
珠海西格电力科技2 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市
A星空1232 小时前
一、Linux嵌入式的I2C驱动开发
linux·c++·驱动开发·i2c
释怀不想释怀2 小时前
Linux环境变量
linux·运维·服务器