最新 最热

【Linux进程控制】二、进程控制——fork()系统调用深度刨析

fork()用于创建一个子进程,我们在shell下执行一个命令其实也是通过fork()实现的,fork()是Linux下最基本的一个系统调用。fork()最大的特点就是一次调用,两次返回,两次返回主要是区分父子进程,因为fork()之后将出现两个进程...

2024-08-08
1

【Linux系统调用API】四、与权限有关的函数

对比上面两次测试结果,这时候我们发现一个奇怪的现象,同一个文件1.txt在qq用户下使用access函数返回的是无写权限,但是在root用户下使用access函数返回的是有写权限,这是为什么呢?首先,我们通过 ls -l 命令来查看并分析一下...

2024-08-08
1

【Linux系统调用API】五、link系列函数

在执行程序时,参数oldpath和newpath不仅可以是文件名,也可以是带有路径的文件名。

2024-08-08
1

【Linux系统调用API】六、目录操作相关函数

首先,看测试结果中打印的内容,getcwd()函数获取到的路径确实是我们通过chdir()函数指定的路径,并且test路径从无到有增加了一个文件,也证明我们切换工作路径成功了。但是有些人可能会有一个疑惑,看途中的红色箭头标记,既然...

2024-08-08
1

【Linux系统调用API】七、errno()、strerror()、dup()、dup2()

errno可以理解为一个全局变量,它存储了出错信息。在下面三个路径可以看到errno相关的内容

2024-08-08
1

【Linux内核设计思想】一、Linux内核相关概念

Linux系统的基础包括内核、C库、编译器、工具集和系统的基本工具,比如登陆程序和shell。当我们说到Linux这个词时,一般指的是Linux内核。对于Linux系统来说,操作系统是指在整个系统中负责完成最基本功能和系统管理的那些...

2024-08-08
1

【Linux系统调用API】一、open与close函数

当我们在C语言程序中调用一个库函数的时候,比如调用printf()函数,实际上它是通过文件指针来指向要打印的位置的。并且,printf()函数会调用Linux的系统函数write()函数(它是一个系统接口,也可以人工调用),write()函数再继续调...

2024-08-08
1

【Linux系统调用API】二、read函数、write函数、lseek函数

可以通过read()和write()函数来实现向一个文件中写入内容并把写入内容打印到屏幕的功能。

2024-08-08
1

【Linux系统调用API】三、进程地址虚拟空间、fcntl函数、stat函数

下面我们写一个程序来测试一下,一次性最多能打开的文件数量,来验证文件描述符的作用和范围。

2024-08-08
1

深入浅出链接库 | 静态库与动态库

不管是在 Windows 下开发,还是在 Linux 下开发,我们都会经常性的使用一些库文件,这些库文件的特点就是,我们可以看到接口的原型并通过这些接口来调用这个函数的功能,但是我们无法查看这个功能的实现。这就是库文件,功能提供...

2024-08-08
1