七.季
码龄4年
关注
提问 私信
  • 博客:78,824
    78,824
    总访问量
  • 39
    原创
  • 54,545
    排名
  • 70
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2021-03-03
博客简介:

m0_55721285的博客

查看详细资料
  • 原力等级
    当前等级
    2
    当前总分
    152
    当月
    0
个人成就
  • 获得126次点赞
  • 内容获得15次评论
  • 获得232次收藏
  • 代码片获得256次分享
创作历程
  • 7篇
    2024年
  • 2篇
    2023年
  • 30篇
    2021年
成就勋章
TA的专栏
  • Linux踩坑合集
    2篇
  • 计算机系统
    4篇
  • 文件IO 练习题
    3篇
  • C语言 练习题
    15篇
  • C语言  学习总结
    12篇
  • C语言  进阶理解
    4篇
  • C语言  理论理解
    2篇
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

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

Linux终端退出程序后,TCP地址仍被占用

下次我使用Ctrl+C退出程序,或者使用sudo lsof -i :PORT【PORT替换为使用的端口号】查看当前的占用端口的进程,获取进程的PID,然后使用命令sudo kill -9 PID【PID替换为查到的PID】销毁进程就可以了。首先是我使用Ctrl+Z退出程序实际上是不正确的方式,这会导致程序资源没有完全被回收,所以当我用这个不正确方法退出程序后,这个进程仍在进行http请求监听。如果是在终端中启动程序,在退出终端时确保使用正确的方法来终止程序。某些程序可能被设计为守护进程或作为系统服务运行。
原创
发布博客 2024.11.05 ·
568 阅读 ·
9 点赞 ·
0 评论 ·
5 收藏

redhat5与ubuntu上Makefile语法区别

这个库是Linux网络api的依赖库,在Linux的/lib、/usr/lib没有找到这个库,但是在/usr/lib/x86_64-linux-gnu/xtables找到了libxt_socket.so,结合网上说的Linux下不需要在Makefile里面使用-lsocket去链接这个库,所以就把Makefile里的语法改掉。这个在网上搜索才知道redhat5是可以将链接库放到-Wall后面的,但是在ubuntu上却不可以,将-lpthread放到最后问题就解决了,成功编译。
原创
发布博客 2024.11.05 ·
271 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

https握手过程详解

上一篇《HTTPS通讯全过程》中https握手过程实际上还有更多的细节,为什么会这样设计呢?是因为一开始将握手过程时,吧步骤说的太详细会导致更难理解惹。所以我就先在上一篇把部分细节忽略,把原来几步的过程先简化为一步,这样理解起来就会方便很多噜。
原创
发布博客 2024.08.16 ·
987 阅读 ·
10 点赞 ·
0 评论 ·
21 收藏

HTTPS通讯全过程

不得不说,https比http通讯更加复杂惹。在第一次接触https代码的时候,不知道为什么要用用证书,公钥是什么?私钥是什么?他们作用是什么?非对称加密和对称加密是啥?天,这些似懂非懂的概念,大大增加了我写代码的困难(本人就是不理解原理就浑身难受那种人惹,代码写着写着就想为什么要这样写,牛角尖一枚罢噜)。如果你也有这样的疑问,那么就让我们一起来看看这篇文章吧~~啾咪
原创
发布博客 2024.08.16 ·
1814 阅读 ·
29 点赞 ·
0 评论 ·
22 收藏

网络如何发送一个数据包

路由知道了下一个路由的IP地址后,同样的会广播一个ARP请求,与广播携带的IP数据一样的路由会响应这个广播,并携带上自己的MAC地址。当前局域网内的所有计算机以及路由器都会扫描到这个广播,并解析广播数据,当发现广播的IP地址信息和自己的相同时,就会将自己的MAC信息响应给计算机a。首先这个数据包会从计算机a发送到a的局域网的路由,此时通过ARP解析得到的是路由的MAC地址。每一级路由就像这样一级一级的发送,直到发送到目标的路由上,目标路由检测到目标就在和它连接的同一个局域网上时,就将数据包发送给目标b。
原创
发布博客 2024.08.13 ·
1439 阅读 ·
21 点赞 ·
0 评论 ·
13 收藏

计算机系统 -- 映射

吗喽的命也是命,点个赞就能买一根香蕉蕉
原创
发布博客 2024.08.09 ·
549 阅读 ·
9 点赞 ·
0 评论 ·
5 收藏

虚拟内存惹

继续更新中惹,如果觉得对侬U帮助就给我个赞满足一下我的虚荣心吧~~
原创
发布博客 2024.08.08 ·
377 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏

深入理解计算机系统2--理解计算机系统的基本组成以及程序的运行

前面一章简单记录了程序在计算机系统是以什么形式被存储的以及编译器编译的过程,这篇文章则会记录程序是如何被运行的,它在磁盘中是如何被读取,计算机系统将会通过那些器件来解释、理解并执行程序。强烈建议大家看一看《深入理解计算机系统》这本书。本文参考资料《深入理解计算机系统》
原创
发布博客 2023.04.28 ·
651 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

深入理解计算机系统1--理解编译器编译的过程

大家在学习C语言的时候,相信对编译器这个词并不会感到陌生。我们也会知道编译器编译的过程是:预处理-》编译-》汇编-》链接。这篇文章主要介绍这四个过程中,编译器究竟做了那些工作,它是如何让一份高级程序转换成机器语言的,这个过程我觉得还是很有意思的。强烈建议大家看一看《深入理解计算机系统》这本书。本文参考资料《深入理解计算机系统》有错误的地方请及时指出,共同进步。
原创
发布博客 2023.04.27 ·
678 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux学习 文件IO阶段A3——在LED上显示一个色块,位置、大小自己定义

Linux学习 文件IO阶段——在LED上显示一个色块,位置、大小自己定义我们要在LED上显示一个色块,还要规定色块的位置大小,如何做到?1)只要我们规定第一次光标的位置,就可以找到色块的初始位置;2)找到色块的起初是位置之后,如何规定色块的行?我们可以在光标的位置输入一行像素,像素的长短x我们可以规定,这就是色块的行宽x;3)有了行宽后,如何打印出宽?我们让输入行的代码执行y次就可以了。4)每次输入光标之后,再次执行输入像素代码的时候,不是接着输入的吗?这样怎么可能得到一个色块呢?我们把输入像素
原创
发布博客 2021.03.27 ·
562 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux学习 文件IO阶段A2——用映射,实现LED界面刷像素

Linux学习 文件IO阶段A2——用映射,实现LED界面刷像素我们为什么要用映射空间呢?用write写入不是更好吗?用write写入数据,会出现输入卡顿,输入的数据有缺失的情况。因为映射空间是在数据存满空间时,吧数据一下写进LED屏幕的,所以这样输入方式就很快捷、不卡顿、输入信息完整。以下是参考代码:#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<unistd.h&g
原创
发布博客 2021.03.27 ·
152 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux学习-文件IOA1——用结构体和文件操作函数实现文件的拷贝

Linux学习-文件IOA1——用结构体和文件操作函数实现文件的拷贝其实我们不必选用结构体去实现模仿拷贝功能的,但是为了锻炼我们的思维以及对结构体、文件操作函数的使用,所以我们就这样来折腾自己。学习的过程就是将复杂的事情简单化,再将简单的事情复杂化,这样才会对只是理解更深刻透彻,运用的也会更加得心应手,我们在实际上遇到问题的时候也能从不同角度考虑问题了。以下是参考代码以及注释:#include<sys/types.h>//open头文件#include<sys/stat.h>
原创
发布博客 2021.03.27 ·
232 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

C语言—W10 用数组指针作为形参实参,对数组元素进行操作

C语言—W10 用数组指针作为形参实参,对数组元素进行操作我们以最简单的对数组元素的大小进行排列为例:#include <stdio.h>#include <stdlib.h>//函数srand、rand的头文件#include <time.h>//函数time的头文件//任务://1.调用函数给数组元素进行大小排列//2.函数的形参和实参类型是数组指针//---------函数的声明------------ int Data_Swap(int (
原创
发布博客 2021.03.16 ·
693 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C语言学习—运算符—“~”取反符号的理解

C语言学习—运算符—“~”取反符号的理解5~ = -6;-5~ = 4;因为数据在计算机中是以二进制存放的。要知道原理,我们得先了解正负数在计算机中的存放形式:正数:原码=反码=补码负数:反码=原码取反;补码=反码+1;负数在计算机的存储方式是以补码对形式存在的。先看一下正数的取反符~的运算:以5为例:5是正数的原码=反码=补码(不用变换):原码:00000000 00000000 00000000 000001015“~”取反运算(逐位取反,包括符位):11111111 111111
原创
发布博客 2021.03.16 ·
25652 阅读 ·
21 点赞 ·
2 评论 ·
82 收藏

C语言学习—一级指针、二级指针的类型转换的进阶理解

C语言学习—一级指针、二级指针的类型转换的进阶理解类型转换都会在编程的时候运用到,很多人可能直观理解类型转换就是转换成另一个类型。其实这样理解也没有错,但是面对下面这种情况,就会出现段错误了:int Pointer_data(void **p,void **q){int data = **((int **)p);**((int **)p) = **((int **)q);**((int **)q) = data;return 0;}int main(void){int a=10,b=
原创
发布博客 2021.03.15 ·
1205 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

C语言学习—malloc、calloc、realloc的理解

C语言学习—malloc、calloc、realloc的理解malloc、calloc、realloc都是与内存分配有关的函数。要想了解三个函数的用法,得先了解内存的分配。静态存储区:静态存储区是全局变量、static类型的数据存放的区域。静态存储区的内存在整个程序运行结束前都不会被释放。栈区:栈区的数据是在语句执行后内存就会被释放。堆区:堆区的数据不会自动释放,需要用户用free、bzero等函数手动释放。们的malloc、calloc、realloc就是定义在栈区。头文件:#include&l
原创
发布博客 2021.03.15 ·
687 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

C语言学习—字符串函数总结string

C语言学习—字符串函数总结string和字符串有关的函数有很多,只需要学习常用的4种就够用,其他的在后面用到的时候自然而然就会。在学习这些函数之前我们需要知道,为什么字符串会有大小之分(清楚后会对这几个函数有更深得了解):因为计算机是不认识字符的,他只认识1和0这两个数值。ASCII的十进制数由32个二进制组成,所以计算机的CPU只要比较ASCII中字符对应的数值就可以求出那个字符串大,这也是为什么字符串有大小的原因。ASCII图下面有:这次总结的4个函数是:strlen、strcmp、strcpy、
原创
发布博客 2021.03.13 ·
394 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C语言学习—指针的学习理解

C语言学习—指针的学习理解指针的学习往往很容易搞混。在我们了解学习指针之前,我们得先知道数据在计算机中的存放。数据在计算机中是以二进制文件存储的,我们的存储空间可以理解为以下形式:计算机是在这种小格子上存放数据的,CPU之所以会那么快找到数据,是因为每一个小格子都有它的名字,我们就叫它的名字为:地址!!!我们的指针,就是指向地址的小箭头,当我们需要找数据时,我们只要拿到存放着这个数据的地址,我们就能找到数据进行我们想要的操作。通俗一点的理解:就像我们不知道朋友住在酒店的那个房间,但是只要他告诉我
原创
发布博客 2021.03.12 ·
698 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

C语言 A3—统计数组元素出现的次数并且输出结果

C语言 A3—统计数组元素出现的次数并且输出结果参考代码:有两种办法方法一、#include<stdio.h>int main(void){int data[50],num,i;/*--------1.循环输入数据,并算出有效空间---------*/for(i=0;i<50;i++)//循环输入数值{ scanf("%d",&data[i]); if(data[i] == -1) { data[i] = 0;//当输入-1时,是无效值,所以清零
原创
发布博客 2021.03.10 ·
4232 阅读 ·
3 点赞 ·
0 评论 ·
17 收藏

C语言学习—程序在计算机中的存储运行理解

C语言学习—程序在计算机中的存储运行理解要知道程序在二进制中是怎么样存储运行的,我们就必须的把下面这句话牢牢记在心里:无论是程序还是文件,一切一切,都是以二进制存放在计算机中的!二进制文件就是由只有1和0组成的文件。原因:C语言、C++语言、Java…都是我们语法,计算机是不认识我们在键盘上敲进去的代码的。代码需要我们经过编译->汇编,形成二进制文件才会被计算机识别,因为计算机只能认识1和0.有了这个概念之后,我们就可以对文件(程序也是文件的一种)在计算机的运行存储进行进一步的了解了。首先,我们
原创
发布博客 2021.03.09 ·
946 阅读 ·
0 点赞 ·
4 评论 ·
0 收藏
加载更多