- 博客(19)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 编程入门学习的困惑
学习编程这段时间以来,接触了不少一起学习的小伙伴,首先我自己经常会问XXX 语言怎么入门、如何学好编程语言等问题。这里我总结了我作为初学者的一些困惑与大家分享1、如何入门?在学习编程第一天,大部分人会想我该如何去学习,需要看什么书?对于刚入门的程序员,不管是科班出身还是非科班出生,我建议你可以先买一本相关类型的书(找好评多的),C语言推荐《C Primer Plus》,C++推荐《C++ 从...
2019-07-13 11:33:24
6489
3
原创 内存管理
虚拟内存虚拟内存目的是为了让物理内存扩充成更大的逻辑内存,从而让程序获得更多的可用内存。为了更好的管理这块内存,操作系统将内存抽象成地址空间。每个程序拥有自己的地址空间,这个地址空间被分割成多个块,每一块成为一页。这些页被映射到物理内存,但不需要映射到连续的物理内存,也不需要所有页都必须在物理内存中。当程序引用到不在物理内存的页时,由硬件执行不必要的映射,将缺失的部分装入物理内存并重新执行失败...
2019-09-15 11:34:43
145
原创 死锁
必要条件● 互斥:每个资源要么已经分配给了进程,要么就是可用的。● 占有和等待:已经得到某个资源的进程可以再请求新的资源。● 不可抢占:已经分配给一个进程的资源不能强制性的被抢占,它只能被占有它的进程显式的释放。● 环路等待:有两个或两个以上的进程组成一条环路,该环路的每个进程都在等待下一个进程所占有的资源。处理方法● 鸵鸟检测● 死锁检测与死锁恢复● 死锁预防● 死锁避免鸵...
2019-09-15 10:40:39
148
原创 C语言常用关键字详解
由ASCII标准定义的C语言关键字共32个:数据关键字12个:char,double,float,enum,float,int,long,short,signed,struct,union,void控制语句关键字12个:for,do,while,break,continue,if,else,goto,switch,case,default,return存储类型关键字4个:auto,exter...
2019-08-31 18:45:41
5737
1
原创 UNIX线程管理
线程概念 典型的UNIX进程可以看成只有一个控制线程,一个进程在某一时刻只能做一件事。有了多个控制线程以后,在程序设计时就可以把进程设计成某一时刻能够做不知一件事,每个线程都有各自的独立任务。 每个线程都包含有表示执行环境所必须的信息,其中包括进程中标识线程的线程ID、一组寄存器值、栈、调度优先级和策略、信号和屏蔽字、errno变量以及线程的私有数据。 一个进程所有信息对进程的所有线程...
2019-08-31 15:13:34
312
原创 UNIX进程控制(二)
进程标识 每个进程都有一个非负整数表示的唯一进程ID。常将其用作其他标识符的一部分以保证其唯一性。例如:应用程序有时就把进程ID作为名字的一部分来创建一个唯一的文件名。 系统中有一些专用进程,但具体细节随实现而不同。ID 0的进程通常是调度进程,常常被称为交换进程(swapper)。该进程是内核的一部分,他不执行任何磁盘上的程序,所以称为系统进程。进程ID 1通常是init进程… 每个...
2019-08-31 11:44:07
145
原创 UNIX进程控制(一)
进程与程序1、进程的定义: “进程”是操作系统的最基本、最重要的概念之一。但迄今为止对这一概念还没有一个确切的统一的描述。进程是一个程序与其使用的数据在处理机上顺序执行时发生的活动。2、进程的特征: 动态性:是程序的一次执行 并发性:进程可以并发执行的 结构性:进程是有结构的 交往性:一个进程在执行过程中可与其他进程产生直接或间接关系 独立性:是系统进行资源分配和调度...
2019-08-16 20:21:03
282
原创 UNIX信号机制
文章目录引言信号概念信号的捕获函数kill和raise函数alarm和pause信号集函数sigprocmask与sigpending带附加信息的信号捕获引言信号是软件中断。很多比较重要的应用程序都需要处理信号。信号提供了一种处理异步事件的方法,例如:终端用户键入中断键,会通过信号机制停止一个程序,或及早终止管道的下一个程序。信号概念信号是什么:UNIX 进程间的一种异步通讯机制。...
2019-08-16 18:28:03
393
原创 惨!rm -rf
#include <stdio.h>#include <unistd.h>#include <dirent.h>#include <string.h>void rm_name(char* name){ if(0 == strcmp(name,".") || 0 == strcmp(name,"..") || 0 == unlink(na...
2019-08-09 17:23:07
146
原创 UNIX/Linux文件和目录操作(二)
继上一篇UNIX/Linux文件和目录操作(一)继续来讲文件和目录操作函数。1、chdir/fchdir/getcmd函数头文件#include <unistd.h>int chdir(const char *path);功能:修改进程的工作目录返回值:0 成功,-1 失败int fchdir(int fd);功能:修改进程的工作目录fd:被open函数打开的...
2019-08-09 09:21:42
164
原创 UNIX/Linux文件和目录操作(一)
文章目录前言1、函数stat、fstat、lstat2、access函数3、umask函数4、chmod/fchmod函数5、truncate/ftruncate函数6、link/unlink/remove/rename函数6.1、链接说明6.2函数介绍7、symlink/readlink函数8、mkdir/rmdir函数前言之前我们说明了执行I/O操作的基本函数,其中讨论的是围绕普通文件I/...
2019-08-08 21:21:26
745
原创 浅析UNIX/Linux内存管理
文章目录前言一、物理内存和虚拟内存二、进程与内存三、进程与虚拟内存四、内存各层管理五、内存管理API前言 内存是linux中很重要的一块,内存不足、内存泄漏、内存溢出也是在测试项目中经常会遇到的问题。 在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实这是Linux内存管理的一个优秀特性,在这方面,区别于Windows的内存管理。主要特点是,无...
2019-08-08 18:12:46
275
原创 浅析UNIX/Linux静态库与共享库
一、什么是库? 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行,我们把不需要升级更新维护的代码打包合并在一起方便使用,也可以对源代码进行保密。由于windows和linux的本质不同,因此二者库的二进制是不兼容的。 Linux/UNIX操作系统支持的函数库分为静态库和动态库,动态库又称共享库。Linux系统有几个重要的目录存放相应的函数库,如/lib /usr/...
2019-08-07 08:49:25
351
原创 浅谈C语言的缓冲区
前言 缓冲区 又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区。...
2019-08-03 08:47:36
246
原创 C语言 文件操作(二)
上一篇主要讲了文件最基础的操作,包括文本文件的读写函数以及文件的关闭与打开。接下来主要介绍文件的二进制读写以及文件指针定位等。
2019-07-29 20:33:05
154
原创 C语言 文件操作(一)
操作文件的正确流程为:打开文件 --> 读写文件 --> 关闭文件。文件在进行读写操作之前要先打开,使用完毕要关闭。文本文件与二进制文件:磁盘只能存储二进制数据。文件文件中存储的是ASCII码的二进制,先把数据转换成字符中,再写入到文件中,可以直接被文本编辑器打开。二进制文件中存储的数据的二进制,直接把数据的二进制存储到文件中,无法直接通过文件编辑器查看。1、打开/关闭文...
2019-07-29 09:22:27
424
原创 C语言 输入&输出
当我们提到输入时,这意味着要向程序填充一些数据。输入可以是以文件的形式或从命令行中进行。C 语言提供了一系列内置的函数来读取给定的输入,并根据需要填充到程序中。当我们提到输出时,这意味着要在屏幕上、打印机上或任意文件中显示一些数据。C 语言提供了一系列内置的函数来输出数据到计算机屏幕上和保存数据到文本文件或二进制文件中。1、格式化输入输出函数C 语言中的 I/O (输入/输出) 通常使用 ...
2019-07-28 17:36:51
929
原创 C语言中的"指针"
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-07-21 22:40:05
214
1
原创 大神"鸡汤"
把握好星期六、星期天之前我分享的文章说到 20~30 岁这个 10 年是具有决定性的 10 年,而这十年当中很重要的一点就是你如何去对待每一周的周六和周天。不管你现在是在学校,还是已经毕业出来工作了,我相信很多人都没能把握好周六、周天,一般我们都会下意识的认为这两天是假期,可以让自己放松一下,要么就是睡个懒觉、要么就是打个游戏,久而久之你就把这种放松就变成了一种习惯,如果突然要在这两天加个班,你...
2019-07-13 13:18:20
214
VSCode Cpptools依赖包.zip
2019-12-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人