还是做不到?
码龄2年
关注
提问 私信
  • 博客:28,796
    28,796
    总访问量
  • 47
    原创
  • 34,159
    排名
  • 364
    粉丝
  • 0
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:河北省
  • 加入CSDN时间: 2022-10-12
博客简介:

sswithyou的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    3
    当前总分
    432
    当月
    0
个人成就
  • 获得562次点赞
  • 内容获得17次评论
  • 获得456次收藏
创作历程
  • 47篇
    2024年
成就勋章
兴趣领域 设置
  • 编程语言
    c语言
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

342人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

进程地址空间

是否在物理内存中开辟了区域。什么叫分批加载呢,通过进程的优先级,系统会选择优先调度,一些事加载过了,被切换出去了,另外还有没有加载的,未被加载的,先不在物理内存中开辟空间,等到轮到它的时候,在进行开辟,然后更新页表的映射的物理内存地址。地址空间是随着进程一直都存在的,而全局变量这类的数据的虚拟地址一直都在页表里,进程不就是由 页表+地址空间+PCB组成的吗,所有进程在,页表就在,虚拟地址一直都在。,这个代码,在c语言是可以编译通过的,但是你试试一旦运行呢,是不是直接系统就会崩溃,准确的是我们的进程崩溃了。
原创
发布博客 2024.11.10 ·
934 阅读 ·
22 点赞 ·
0 评论 ·
11 收藏

Linux的调度算法

这个是我们Linux系统的runqueue,听名字就知道,这个就是调度运行中的程序的,也就是管理进程的一个队列,我们看到红圈里,有个queue[140],这个queue一共有140 个元素,前一百个是其他种类进程应用的,这些进程优先级大于我们要运行的程序,他们会保护电脑的安危,前一百个我们现在不用管,以后学习到了再说,后四十个,四十这个正好和nice的那[-20,19]的取值范围正好对应,就是保存了四十个PCB--task_struct ,都是对进程的描述,也就是每个进程的结构体。这样做的意义是什么?
原创
发布博客 2024.10.24 ·
999 阅读 ·
25 点赞 ·
0 评论 ·
12 收藏

进程的学习

父亲的代码是共享给子进程的,父进程相当于给子进程一份拷贝的代码,然后子进程跑子进程的,父进程跑父进程的,相当于两个分支各自进行运行。dash进行命令解释,每个指令都是我们的操作,如果我们只有父进程去执行,那么父进程突然崩溃了,bash是不是也会受到影响,那其他的进程该怎么办。因为父进程对于子进程来说只有一个,而子进程对于父亲来说可以有很多,所以找一个父进程的pid并不难,而找子进程的pid就会有难度,不如直接返回fork,比较方便监控子进程。标示符: 描述本进程的唯一标示符,用来区别其他进程。
原创
发布博客 2024.10.22 ·
592 阅读 ·
9 点赞 ·
0 评论 ·
18 收藏

OS管理和进程的学习

冯诺依曼这套设计理念,会提高CPU的运行效率,就是怎么说,CPU读取数据的时候,也会进行别的操作,然后边读取也可以别输出,所以并不是需要完全等数据读取完才会进行工作,所以不是单向的提高了速率,而是双向的提高效率,边输入边输出的效率。编写的,所以接口一定和c语言或者c++有关,底层平台的接口都必须和c有关,没有c或者c++,就没有接口,没有接口就不能使用操作系统,不能使用操作系统,就不能使用键盘,鼠标,网卡等地等。但是我们程序员该怎么和OS进行交流呢。输入设备:键盘,鼠标,键盘,网卡(网络接受),磁盘...
原创
发布博客 2024.10.21 ·
975 阅读 ·
8 点赞 ·
0 评论 ·
15 收藏

开发工具的继续学习

我们直接复制提示下面的两个操作指令,执行就可以,这样在Linux的学习机器上,我们就创建好了仓库,接着我们上传一个项目。如果你是在你自己仓库外面啊写的项目,你就把文件拷贝到仓库这个目录下面,然后再进行下面操作,一定是再仓库里面进行上传操作。git创建账号,创建仓库什么的,我相信大家都会了已经,然后我们今天在Linux连接上我们的git仓库。而且断点的序号是线性的,删掉了,他的序号也不会覆盖,你再加入一个新的,序号就是3(前面加了两个了),打开个人主页,@后面得就是git的名字,然后输入你的密码就可以了。
原创
发布博客 2024.10.18 ·
618 阅读 ·
19 点赞 ·
0 评论 ·
5 收藏

Linux的开发工具gcc Makefile gdb的学习

我们发现清理工作是在后面执行的,为什么能让编译器知道先执行编译生成的指令,再是清除的指令呢,从第一行到第一个make结束,然后执行,clean是在后面,如果把clean的指令写在前面,也可以先进行。7. 在找寻的过程中,如果出现错误,比如最后被依赖的文件找不到,那么make就会直接退出,并报错,而对于所定义的命令的错误,或是编译不成功,make根本不理。2. 如果找到,它会找文件中的第一个目标文件(target),在上面的例子中,他会找到“hello”这个文件,并把这个文件作为最终的目标文件。
原创
发布博客 2024.10.18 ·
442 阅读 ·
4 点赞 ·
0 评论 ·
6 收藏

Linux权限的学习

所有者和其他人很好理解,所属组该怎么理解呢,举个例子,小李和小王是一个公司的实习生,两个在不同的分组工作,两个组的工作任务一样,看谁工作中的好,小李写好了,放在了属于他们公司的一个目录文件里面,他设置的权限是只有自己能看,这样小王就不能盗用他的创意了,如果小李的上司想看,该怎么办,如果没有所属组,就只能放开其他人的权限,这样小王又能偷看小李的创意了,后来就有了所属组的概念,对于一部分人能看到,相当于微信朋友圈仅你的好友可见一样。2.普通用户:有对自己文件一定的权限,以及对公共地方的一定权限。
原创
发布博客 2024.10.13 ·
788 阅读 ·
15 点赞 ·
0 评论 ·
30 收藏

Linux指令学习(二)

追加重定向 如果我们一直往一个文件里echo 就会发现,它会先清空,再写入,如果我们不想让他清空,就可以 内容+>>less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前。less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极。除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,
原创
发布博客 2024.09.24 ·
489 阅读 ·
26 点赞 ·
0 评论 ·
19 收藏

Linux 基本指令的学习

举个例子 现在我们在root的路径下,面前有dyx mytest等文件 ,cd +目录或者文件 就可以进去,相当于windows进入文件夹一样,当然我们也可以。2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它。3.同一个文件下,拷贝的和被拷贝的不能一样的名字,因为文件具有唯一性,否则用路径寻找文件其实空谈。指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,:对于目录,该命令列出该目录下的所有子目录与文件。
原创
发布博客 2024.09.24 ·
1323 阅读 ·
17 点赞 ·
0 评论 ·
7 收藏

继承与多态(多态)

我们在写代码的时候,看到的是不一样的类不同的析构函数,但是c++做了统一处理,编译后析构函数的名称统一处理成destructor,所以只是我们看到函数名字不一样,但实际上也没有改变这个规则,函数名字还是一样的。多态的原理就是,在一个对象中里面存了虚表的指针,然后通过虚表找到虚函数,当然记得是虚表里存的也是虚函数的指针。我们可以看到虚函数是不能实例化出对象的,我们想要通过它调用对应对象的函数,我们需要用到指针的方式。1. 派生类对象d中也有一个虚表指针,d对象由两部分构成,一部分是父类继承下来的成员,虚。
原创
发布博客 2024.09.14 ·
518 阅读 ·
17 点赞 ·
0 评论 ·
14 收藏

继承与多态的学习:继承

成员在子类的访问方式 == Min(成员在基类的访问限定符,继承方式),public > protected。4. 使用关键字class时默认的继承方式是private,使用struct时默认的继承方式是public,这段代码可以帮助我们直观的感受到继承,基类(父类)是Person ,每个学生都是人,学生是派生类(子类)如果继承形成这种菱形的感觉,那么我们进行访问的时候,通过访问,不确定是谁的成员。有两种一个是友元函数,一种是友元类,谁是我的朋友,我的朋友就可以访问我的东西。
原创
发布博客 2024.09.12 ·
745 阅读 ·
27 点赞 ·
0 评论 ·
20 收藏

C++11 的继续学习

这里的Comparepriceless(),这是在干什么呢:sort要接受的是一个函数,而我们现在Comparepriceless是一个类,所以是用它调用operator(),我们此时用的是仿函数,然后用匿名对象调用operator,但是不能用有名对象的operator(),这是因为你()要传参数,它需要的是这样的:这样才能调用到,但是我们仿函数会自动反过来调用。这是我们平常写的,如果学习了c++11的话我们有了新的写法,就是用lambda写 ,比较方便用于多个不同种类的那种,有利之处类似于多态那种感觉。
原创
发布博客 2024.09.08 ·
1234 阅读 ·
21 点赞 ·
0 评论 ·
24 收藏

c++11的学习

右值的引用它的本质上是左值,为什么呢,就拿移动拷贝来说 我们要举行swap转换,用swap转换各自的资源,右值一般是临时对象,常量,都具有const的性质,如果右值引用本质是右值,那么我们如何用swap来转换资源呢?完美转化:我们用了引用折叠,那么我们再次调用别的函数的时候,就像上面,假如是右值,传参的时候匹配到了左值该怎么办,我们就要用forwar函数,让他自动识别帮助我们传参。2.2 decltype 和auto 有点类似,也可以进行推到数据类型,主要的是将变量的类型声明为。
原创
发布博客 2024.08.29 ·
820 阅读 ·
14 点赞 ·
0 评论 ·
17 收藏

红黑树的学习

在计算路径黑色结点个数的时候,我们可以检查到红结点的时候,判断它的父亲是不是也是红色,如果从父亲判断孩子的话,有两个孩子,还需要判断空指针问题,不如判断父亲的颜色,因为根是黑色的,不用担心他被访问父亲。如果每次插入是黑色结点,我都得协调每条路径的黑色结点,如果是红色,我只需要考虑,它的父亲是不是红色结点,在进行调色。第一种:叔叔(父亲的兄弟结点,也就是父亲的父亲,它的除了父亲的孩子)存在且为红色结点,那么我们就需要把叔叔和父亲一起调成黑色,接着再往上调整父亲的父亲的结点颜色。旋转就不用再往上改颜色了。
原创
发布博客 2024.08.21 ·
508 阅读 ·
12 点赞 ·
0 评论 ·
18 收藏

AVL树的学习

就又成为了应该刚才右旋的,因为此时的平衡因子是-2 和-2.总结一下,就是失衡的结点再次成为parent ,然后parent的left要往下转,也就是左旋,然后成为它右孩子的子结点,也就是成为parent->left->right的子结点,正好对应了LR型,然后进行右旋,,也就是形成该样子,把平衡因子为2的14结点向下转,也就是右旋,转成六结点的右孩子,然后6的右孩子,就成了14的左孩子,6的右孩子是空也无妨。我们再代码区域看到了,我已经进行了平衡因子的更新,接下来我们说一下单旋的平衡因子是怎么更新的。
原创
发布博客 2024.08.18 ·
862 阅读 ·
16 点赞 ·
0 评论 ·
18 收藏

map和set

insert的返回值是一个pai<iterator,bool>,我们可以通过first和second来访问,而且此时的insert是一种搜索功能的,也就是我们插入的时候,会检查有没有重复的,如果有重复的bool值就会成false,没有重复的就插入成功。因为map的【】是用insert进行底层的,所以它的返回值也是一个pair,再通过对pair的解引用就访问到了修改 ,所以我们可以通过对map的第一个key寻找,就能找到了对应的second。
原创
发布博客 2024.08.16 ·
719 阅读 ·
7 点赞 ·
0 评论 ·
8 收藏

string 的完整介绍

在数组中,我们可以通过[下标]访问数组内容,在c++中,string进行了运算符重载,[]也可以访问string,但是这个运算符重载,多了一项功能,就是帮助我们检查我们访问的下标大不大于我们的sz,就是字符串长度。另外要提一嘴的就是,我们人类的语言与计算机的语言不一样,所以美国发明了ASCLL码表,这样计算机就能我们输入的东西是什么,记着就有各种的字符编码,有unicode,gbk等等,仅作了解。还记得我们数据结构学的串吗,现在在c++中,我们有了c++提供的标准库,它是一个写好的类,非常方便使用。
原创
发布博客 2024.07.13 ·
1688 阅读 ·
12 点赞 ·
0 评论 ·
14 收藏

c++的模板简单介绍

我们就用栈来举例子,为什么要又类模板呢,加入我们想存int的,又想存double的,我们是不是得创建两个栈啊,所以我们写成模板,这样方便形成。还有一种写法,我们还学过auto,这个就会自动帮助我们推算类型,所以我们写两个类型,去接受,让编译器帮助我们去推算。可是最后一条,这是让编译器怎么计算呢,是转换成double呢还是int呢,这时候我们的实例化就要起作用了,告诉编译器我们需要的推算类型。我们来简单举个例子。就是Swap函数的例子,相信大家已经对这个已经不陌生了,我们用模板的方式来写一下。
原创
发布博客 2024.07.04 ·
417 阅读 ·
4 点赞 ·
0 评论 ·
10 收藏

c++内存管理

new(aa1)A 这句代码是什么呢,这就是调用构造函数,就像上边我们画的图那样,需要调用构造函数,但是构造函数不能像析构函数那样显示调用,c++的写法就是new(地址)类型(含参构造)隐式类型转换.aa1调用析构函数给它里面申请的空间释放了,然后再用 operator new来释放aa1。这里需要注意的是,“abcd”刚才我们不是说了在代码段吗,现在怎么在栈上了,原因是将常量区的数据拷贝了一份,放在了栈上,也就是char2刚才在栈开辟的空间。a是属于栈上的,它属于具有变量,abcd是在代码段的。
原创
发布博客 2024.07.03 ·
627 阅读 ·
12 点赞 ·
0 评论 ·
14 收藏

类与对象完结

我们这么定义匿名对象,匿名对象的特点不用取名字, 但是他的生命周期只有这一行,我们可以看到下一行他就会自动调用析构函数。aa1就是就是有名类,如果我们直接给一个类进行构造就是匿名类。
原创
发布博客 2024.07.02 ·
207 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏
加载更多