摘要: 正常情况下,三次握手的步骤如下: 1.客户端发送 SYN 包,包里携带一个序列号(随机数) 2.服务端接收到一个 SYN 包,发送 ACK 包,包里携带一个序列号(随机数)和一个响应号(SYN 包序列号加一)。 3.客户端接收到 ACK 包,比较以下响应号是否是自己的序列号加一,如果是,则握手成功。 阅读全文
posted @ 2022-03-27 18:34 一只吃水饺的胡桃夹子 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 一、基本内联汇编 1.asm [volatile] ("汇编指令") ——所有汇编指令,必须用双引号包起来,超过一条指令必须用用 \n 进行分割,为了排版,需要加上 \t。比如说,下面是一张加 \t 和不加 \t 的对比图,可以看出加上 \t 后指令会对齐: 和 C 语言一样,加上 volatile 阅读全文
posted @ 2022-03-26 17:49 一只吃水饺的胡桃夹子 阅读(605) 评论(0) 推荐(0) 编辑
摘要: 在线编译网站 阅读全文
posted @ 2022-03-26 16:04 一只吃水饺的胡桃夹子 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 一、概要 初始化结束后,先开启中断,操作系统从内核态切换到用户态,接下来进程 0(操作系统代码)创建进程 1,老进程进入死循环: sti(); //开中断 move_to_user_mode(); //切换到用户态 if (!fork()) { //创建进程 1 init(); } for(;;) 阅读全文
posted @ 2022-03-22 13:22 一只吃水饺的胡桃夹子 阅读(279) 评论(0) 推荐(0) 编辑
摘要: C 代码的完整编译流程分为四个阶段:预处理、编译优化、汇编以及链接。前三个阶段对代码进行分析、优化和转换,最后一个阶段将程序依赖的所有对象文件进行整合,最终生成可执行的二进制文件。其中,链接根据发生时刻的不同,分为编译时链接、加载时链接和执行时链接。 一、静态链接 编译时链接最常用的叫法是静态链接, 阅读全文
posted @ 2022-03-16 21:30 一只吃水饺的胡桃夹子 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 众所周知,内存中存放着需要运行的代码和代码运行所需的一些数据。 一、计算机的缓存系统 由于工艺水平的限制,同价位下存储器容量越大访问速度越慢。磁盘的容量很大,但是远远无法满足 CPU 对数据访问速度的要求。而内存以快于磁盘几万倍甚至十几万倍的速度与 CPU 直接交互数据。但随着 CPU 的日益发展, 阅读全文
posted @ 2022-03-10 22:43 一只吃水饺的胡桃夹子 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 1.双!符号 众所周知,!表示逻辑非,如果我们需要完成这样一个功能:当一个字节的变量为 0 时,返回 0;当其为其他时,返回 1 。通常会有两种实现方式,一种是通过 if-else 语句,另一种是通过问号表达式 bit = byte?1:0。第二种方式相对于第一种方式来说,执行效率更高。现在来讲一下 阅读全文
posted @ 2022-03-10 12:56 一只吃水饺的胡桃夹子 阅读(66) 评论(0) 推荐(0) 编辑
摘要: C 语言项目管理包含三个部分,分别是编码规范、自动化测试和结构化编译。 一、编码规范 由于编码规范实在没有什么可说的,在这里附上 GNU 编码规范供参考。 二、测试 为了确保项目质量,在代码完成后通常需要进行测试,其中通过代码代替人工去实现测试的方法叫做自动化测试。 1.测试框架的功能 ——TAP 阅读全文
posted @ 2022-03-04 08:24 一只吃水饺的胡桃夹子 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 一、格式 一份 C 代码经过编译后,可以生成能直接运行的二进制文件,在不同操作系统上这些二进制文件有不同的特征,在 Windows 上通常后缀为 .exe,在 Linux 上通常没有后缀。除此之外,这些二进制文件在内部数据的组织和结构上也有很大的区别,针对 Windows 的有 PE 格式,类 Un 阅读全文
posted @ 2022-03-03 07:55 一只吃水饺的胡桃夹子 阅读(1098) 评论(0) 推荐(0) 编辑
摘要: 一、断言 断言是一种可用于判断程序设计或运行是否符合开发者预期的逻辑判断式,通常用于进行代码调试,详细信息见文档。 断言分为静态断言和运行时断言,前者在编译时进行处理,后者在运行过程中进行处理。 1.静态断言 静态断言主要用来约束程序在编译时需要满足的一定要求,使用函数为 static_assert 阅读全文
posted @ 2022-02-19 16:03 一只吃水饺的胡桃夹子 阅读(80) 评论(0) 推荐(0) 编辑