自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Linux进程等待

status : 由低16位的比特位表示 0000 0000 0000 0000 ,0-7 表示子进程是否异常,终止信号。—— 通过系统调用wait/waitpid,来进行对子进程进行状态检测与回收的功能。a、 僵尸进程无法被杀死,需要通过进程等待来杀掉它,进而解决内存泄漏问题------ 必须解决。b、 通过进程等待获取子进程的退出情况,以获取其任务完成状况。pid > 0 ,等待其进程ID与pid相等的子进程。父进程通过调用 wait/waitpid 进行僵尸进程的回收问题。

2024-04-25 08:56:16 187 1

原创 make/makefile

make回根据源文件和目标文件的新旧,判定是否需要重新执行依赖关系进行编译!文件 = 文件内容(Modify) + 文件属性(Change)不一定总是执行,(.PHONY--伪目标)可以使得总是执行。makefile:是一个当前目录下的文件。stat 访问源文件和可执行文件的时间。make:是一条指令。

2024-03-03 21:13:48 133

原创 Linux 开发工具

库其实就是把源文件(.c),经过一定的翻译,然后打包 --- 只提供一个文件即可,不同提供太多的源文件,也可以达到隐藏文件的目的。a、动态库因为是共享库,有效的节省资源(磁盘空间,内存空间,网络空间等)【优】动态库一旦缺失,导致各个程序都无法运行【缺点】在Linux中,如果要按照静态链接的方式,进行形成可执行程序,需要添加 -static选项 --- 提供静态库。b、静态库,不依赖库,程序可以独立运行【优点】,体积大,比较消耗资源【缺点】- c 从现在开始进行程序的翻译,将汇编工作做完,停下来。

2024-03-03 15:50:41 512

原创 Linux工具

命令模式 --- i ------- 插入模式 ---- esc ------ 命令模式 ----shift+;shiift + R : 替换模式, 对内容进行整体替换 ------ 》第四种模式。vim编辑器 ----- 文本编写 ----- 写代码。(n)r : 对光标字符 + 之后的所有字符进行批量化替换。shift + g(G) : 定位光标到最结尾行。n+shift + g(ng):定位光标到任意行。(n)p:粘贴(n重复行)到光标所在行下一行。(n)yy: 复制光标所在行(n行)

2024-02-29 20:37:46 339

原创 【无标题】Linux权限

设置, 一般是共享文件,大家可以在目录进行各自文件的增删查改,只允许文件的拥有者或者root能删这个文件,其他人一概不允许,t是一种特殊的X权限。1 1 0 1 1 0 1 0 0 ----664 最终权限 = 起始权限 & (~umask)- : 普通文件 -----文本,可执行程序,库基本都属于普通文件。c : 字符设置文件 -----键盘,显示器文件等。b : 块设备文件 -----磁盘文件。p : 管道文件 -------

2024-02-28 20:50:49 676 1

原创 Linux项目自动化构建工具-make/ Makefile

makefile是一个文件,当前目录下的文件。

2023-10-30 10:05:09 75 1

原创 C++ 继承

在C++继承当中,对子类对象初始化,首先会默认调用父类自己的默认构造函数,然后再初始化子类的内容。若没有写父类的默认构造函数,则会出现报错。或者需要显示的调用父类的构造函数。对于拷贝构造函数,父类会调用自己的拷贝构造函数,但若父类中没有写拷贝构造函数,则会调用默认构造函数,因为拷贝构造也是构造函数的一种,但这样便无法达到拷贝构造的效果。对于析构函数,则有所不同,编译器会自动调用父类的析构函数,因此不需要自己显示的调用,首先会析构子类,然后析构父类。

2023-09-04 11:34:41 41 1

原创 C++模板进阶

编译器在预处理的时候,拿到push函数的声明,等到链接的时候进行兑现。如果,模板参数下函数的声明和定义没有分离,责会在Test.cpp中根据如“stack<int>”,进行实例化在编译的时候便会拿到相应的地址。使用模板可以实现一些与类型无关的代码,但对于一些特殊类型的可能会得到一些错误的结果,因此需要进行特殊化处理。但此种方法存在一个问题,需要根据Test.cpp中定义的不同类型进行不同的相应声明代码,颇为繁琐。2、直接在Stack.h中进行声明和代码的分离,来使得类中的代码看起来不那么的臃肿。

2023-09-03 11:42:40 40

原创 模板关键字typename和class不同意思的场景

上述情况中当模板参数使用class时,若使用下面代码, Container::const_iterator it = v.begin();由于代码没有进行实列化,编译器无法分清(Container)是一个类对静态成员的访问,还是相应的模板参数,或者是内部类情况。因此若是要用class当模板关键字时,需要在上述行前面加上相应的声明,明确告诉编译器这里是类型,如下。须用typename而不能用class的场景。或者直接用typename模板关键字即可。因为静态成员的访问跟次访问格式相同。

2023-09-01 09:01:24 44 1

原创 隐式类型转换

2023-08-28 09:46:39 47 1

原创 C++模板(上)

模板函数的使用

2023-06-20 09:32:07 48 1

原创 C++内存管理

C++提出了自己的内存管理方式:通过new和delete操作符进行动态内存管理

2023-06-20 09:07:58 43 1

原创 C++ 类和对象(上、中、下)

文章对C++的类和对象部分做了详细的概括

2023-06-18 11:17:24 117 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除