- 博客(24)
- 收藏
- 关注
原创 【Linux】基础开发工具(yum/gcc/g++/gdb/cgdb)
• 最后的答案是:系统把这些函数实现都被做到名为 libc.so.6 的库⽂件中去了,在没有特别指定 时,gcc 会到系统默认的搜索路径“/usr/lib”下进⾏查找,也就是链接到 libc.so.6 库函数中去,这样 就能实现函数“printf”了,⽽这也就是链接的作⽤。• 我们的C程序中,并没有定义“printf”的函数实现,且在预编译中包含的“stdio.h”中也只有该 函数的声明,⽽没有定义函数的实现,那么,是在哪⾥实“printf”函数的呢?常指的是文件最近⼀次被访问的时间。
2024-12-02 09:00:00
1745
原创 【Linux】shell运行原理及权限概念
shell命令以及运行原理 什么是 Shell 命令 Shell 是一个命令行解释器,它接收用户输入的命令,并将这些命令传递给操作系统内核执行。常见的 Shell 有 Bash(Bourne - Again Shell)、Zsh、Fish 等。Shell 命令就是用户在 Shell 环境下输入的用于完成各种任务的指令。 例如,ls是一个基本的 Shell 命令,用于列出目录中的文件和子目录。cp命令用于复制文件,mkdir用于创建目录等。这些命令可以通过在终端(命令行界面)中输入来执行。
2024-11-25 09:00:00
1869
原创 【Linux】入门基本指令
ls [选项][目录或文件]对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。1. -a 列出目录下的所有文件,包括以 . 开头的隐含文件。2. -d 将目录像文件一样显示,而不是显示其下的文件。如:ls –d 指定目录3. -i 输出文件的 i 节点的索引信息。如 ls –ai 指定文件4. -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件5. -l 列出文件的详细信息6. -n 用数字的 UID,GID 代替名称。(介绍 UID, GID)
2024-11-21 09:00:00
1681
原创 【 C++ 】详解 (类和对象) 继承
1. 在继承体系中基类和派生类都有独立的作用域。2. 子类和父类中有同名成员,子类成员将屏蔽父类对同名成员的直接访问,这种情况叫隐藏, 也叫重定义。(在子类成员函数中,可以使用 基类::基类成员 显示访问)3. 需要注意的是如果是成员函数的隐藏,只需要函数名相同就构成隐藏。4. 注意在实际中在继承体系里面最好不要定义同名的成员。1. 很多人说C++语法复杂,其实多继承就是一个体现。有了多继承,就存在菱形继承,有了菱 形继承就有菱形虚拟继承,底层实现就很复杂。
2024-07-13 20:32:26
791
1
原创 [ C++ ] 深入理解模板( 进 阶 )
一个程序(项目)由若干个源文件共同实现,而每个源文件单独编译生成目标文件,最后将所有目标文件链接起来形成单一的可执行文件的过程称为分离编译模式。
2024-07-04 14:52:42
372
原创 [ C++ ] 深入理解模板( 初 阶 )
函数模板函数模板格式template <typename T1, typename T2,......,typename Tn>返回值类型 函数名(参数列表){}注意:typename是用来定义模板参数关键字,也可以使用class(切记:不能使用struct代替class)函数模板的实例化模板参数的匹配原则1. 一个非模板函数可以和一个同名的函数模板同时存在,而且该函数模板还可以被实例化为这个非模板函数2. 对于非模板函数和同名函数模板,
2024-05-29 21:28:33
687
原创 [ C++ ]内存管理
注意:在申请自定义类型的空间时,new会调用构造函数,delete会调用析构函数,而malloc与 free不会。new的原理1. 调用operator new函数申请空间 2. 在申请的空间上执行构造函数,完成对象的构造delete的原理1. 在空间上执行析构函数,完成对象中资源的清理工作 2. 调用operator delete函数释放对象的空间new T[N]的原理。
2024-05-29 16:57:36
693
原创 [ C++入门 ] 类和对象 ( 上 )
/ 类体:由成员函数和成员变量组成// 一定要注意后面的分号class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分 号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者 成员函数。1. 声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内 联函数处理。
2024-05-20 21:02:34
717
1
原创 [ C++入门 ] 详解引用概念 内联函数 auto 范围for 指针空值nullptr
在早期C/C++中auto的含义是:使用auto修饰的变量,是具有自动存储器的局部变量,但遗憾的 是一直没有人去使用它,大家可思考下为什么?C++11中,标准委员会赋予了auto全新的含义即:auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得。可以用typeid查询auto类型。
2024-05-19 15:06:58
1176
1
原创 [ C++入门 ] 详解C++命名空间
定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{} 中即为命名空间的成员。
2024-05-12 15:56:16
310
原创 插入排序与希尔排序:性能对比及应用场景
综上所述,希尔排序比插入排序更加高效,其时间复杂度和空间复杂度均优于插入排序。然而,由于希尔排序是一种不稳定的排序算法,无法保证相等元素的相对位置不变,所以在某些情况下可能不适用。因此,在实际应用中,我们需要根据具体的场景选择适合的排序算法来进行排序,以达到最佳的排序效果。
2024-02-07 11:12:00
805
1
原创 深入剖析插入排序算法:简单而有效
插入排序(Insertion Sort)是一种简单直观的排序算法,其基本思想是将未排序的元素逐个插入到已排序序列中的合适位置,从而得到一个有序序列。总结起来,插入排序是一种简单但性能稍逊的排序算法,适用于小规模数据或部分有序的数据。它的核心思想是通过不断地将待排序元素插入到已排序序列中,逐渐构建出完整的有序序列。
2024-02-06 13:21:36
1115
1
原创 【LeetCode】设计循环队列OJ
1.我们应再malloc一个新的st,而不能直接创建一个局部变量,出了函数就会销毁,从而造成野指针。2.创建的数组大小应该比插入的数据多一个。3.tail指向的是下一个位置。
2024-02-02 10:00:00
772
原创 【数据结构】算法的时间复杂度和空间复杂度
如何衡量一个算法的好坏呢?斐波那契数列的递归实现方式非常简洁,但简洁一定好吗?那该如何衡量其好与坏呢?
2024-02-01 15:50:51
1565
1
原创 c语言扫雷游戏实现
2.其中flag是用来计数的,总格子数 ( 9 x 9 ) 减去flag等于雷的数量代表本次游戏已经赢。1.其中的system("cls")作用是清空黑框中的字,从而看起来不那么乱。
2023-12-14 22:53:54
661
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人