- 博客(10)
- 收藏
- 关注
原创 Linux系统学习(四)——进程复制与替换
当我们fork()生成子进程后,子进程的代码与数据可以来自其他可执行程序。把磁盘上其他程序的数据以覆盖的形式给子进程。这样子进程就可以执行全新的程序了,这种现象称为程序替换。什么是进程替换:把当前进程替换为其他进程执行。其他进程(创建新程序,生成可执行程序,装载进内存)
2022-11-26 16:17:59
701
1
原创 Linux学习(三) Linux 系统上的库文件生成与使用
1、什么是库文件库是一组预先编译好的方法的集合。Linux系统存储的库的位置一般在:/lib 和 /usr/lib。在 64 位的系统上有些库也可能被存储在/usr/lib64 下。库的头文件一般会被存储在/usr/include 下或其子目录下库有两种,一种是静态库,其命令规则为 libxxx.a,一种是共享库,其命令规则为 libxxx.so,如下图所示:2、静态库的生成与使用2.1 静态库的生成。
2022-11-15 18:21:21
239
原创 linux(二)
要想清楚程序的编译链接过程,前提你知道什么是可执行文件吗?文件是一个外存的概念,文件只存在于“外存”(硬盘,u盘,网盘)中,文件由两部分构成,文件名和文件主体。文件的分类:可执行文件、不可执行文件可执行文件:在Windows操作系统中,扩展名为:*.exe,*bat等的文件是可执行文件,可执行文件由指令和数据构成。Linux是靠文件属性来判断是否可执行。不可执行文件:其内容是由数据构成。(图为借鉴)a) 删除所有的“#define”,并且展开所有的宏定义;
2022-11-05 12:49:32
426
原创 【无标题】
目录第一章、Linux 系统介绍第二章、Linux 系统目录结构介绍1. 目录结构3.绝对路径与相对路径4.家目录的概念第三章:Linux 系统文件类型与文件权限1.文件类型2.文件权限第四章:Linux 常用命令(重点!)1.ls命令 查看路径下所有文件2.cd命令:切换路径3.clear 命令4. pwd 命令5. mkdir 命令 创建目录6. rmdir 命令 删除目录(空目录)7. rm 删除文件 命令8. touch 命令 创建普通文件命令模式,编辑模式,尾行模式10.cat命令。
2022-10-23 13:57:48
481
原创 C语言——结构体
3)结构体的总大小,为MIN{结构体“最大基本数据类型成员所占字节数”(将嵌套结构体里的基本类型也算上,得出最大基本数据类型成员所占字节数),指定对齐方式} 大小的整数倍。(2)结构体变量中的每个成员相对于结构体首地址的偏移量,都是该成员基本数据类型所占字节数的整数倍;(1)、结构体变量的首地址,必须是结构体变量的“最大基本数据类型成员所占字节数”的整数倍;(3)、结构体变量的总大小,为结构体变量中“最大基本数据类型成员所占字节”的整数倍;内置类型可以定义指针变量,结构体类型也可以定义结构体类型指针;...
2022-08-08 12:15:01
735
原创 动态内存管理(c语言)
3、静态区:全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。之前介绍过全局变量和局部变量,全局变量是分配在内存中的静态存储区的,非静态的局部变量(包括形参)是分配在内存中的动态存储区的,这个存储区称为。1.calloc的功能是为num个字节大小为size的元素开辟一个空间,并且把空间的每个字节的数据都初始化为0,然后返回这块连续空间的起始位置的地址;注意指针的基类型为void,即不指向任何类型的数据,只提供一个纯地址。..
2022-08-04 11:51:45
303
原创 C语言(指针)
有人误认为string是一个字符串变量,以为在定义时把”ilovechina“这几个字符赋给该字符串变量,这是不对的。在C语言中只有字符变量,没有字符串变量。数组可以在定义时对个元素赋初值,但不能用赋值语句对字符数组中全部元素整体赋值。例2对字符串中字符的存取,可以用下标方法,也可以用指针方法,这里直接介绍指针方法。定义一个字符指针变量,用它指向字符串常量中的字符。(2)用字符指针变量指向一个字符串常量,通过字符指针变量引用字符串常量。,绝不是将字符串放到字符指针变量中。...
2022-08-02 16:14:26
100
原创 指针数组 数组指针 函数指针
而对数组指针来说,首先它是一个指针,它指向一个数组,也就是说它是指向数组的指针,在32位系统下永远占4字节,至于它指向的数组占多少字节,这个不能够确定,要看具体情况。首先,对于语句int*p1[5],因为“[]”的优先级要比*要高,所以p1先与“[]”结合,构成一个数组的定义,数组名为p1,而“int*”修饰的是数组的内容,即数组的每个元素。*p[n]根据优先级,先看[n],则p是一个数组,再结合,这个数组的元素是指针类型,共n个元素,这是“指针的数组”,即指针数组。...
2022-07-30 09:06:28
86
原创 const和指针的结合使用
总结对于一级指针,分清楚const修饰的是谁,哪些可以变,哪些不能变,在上述代码都有明确描述。二级指针只是一级指针的深入理解。const放在*左边,修饰的是指针指向的内容,保证指针指向的内容不能通过指针来改变(但是指针本身的内容可以改变)const放在*右边,修饰的是指针变量本身,保证了指针变量的指向不能修改,(但是可以通过指针改变指针指向的内容)const修饰变量n后,保护了变量n,使其不能被赋值修改。*前后都有const,此时指针本身以及指向的内容均不能修改。......
2022-07-28 12:12:44
296
原创 算法的时间复杂度和空间复杂度总结
算法时间复杂度定义在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。算法的时间复杂度,也就是算法的时间亮度,记作它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐近时间复杂度,简称为时间复杂度。其中f(n)是问题规模n的某个函数。用0()来体现算法时间复杂度的记法,简称大O记法。常用的时间复杂度耗费时间排序https。...
2022-07-22 14:36:02
449
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人