探究 gcc 浮点数精度转换所使用的指令 —— use_vector_fp_converts 优化

在学习 浮点数精度转换指令CS:APP 里提到 gcc 并不使用 vcvtss2sd/vcvtsd2ss而是使用 vunpcklps & vcvtps2pd / vmovddup & vcvtpd2psx但是我使用 gcc 12.2.0 编译得到的结果就是 vcvtss2sd/vcvtsd2ss对此CS:APP 没有深究

It is unclear why GCC generates this code. There is neither benefit nor need to have the value duplicated within the XMM register.

但是 CS:APP 选择放弃反而会激发读者的斗志啊

虽然但是我确实没想到这玩意会让我断断续续搞了三天ddl 又要寄了 🌚

CS:APP 第七章学习笔记

CS:APP 第七章 Linking 的学习笔记

这章的主要内容为程序的链接学习链接有助于理解链接报错避免链接相关的 bug理解变量函数的作用域理解程序运行过程中与链接相关的步骤了解如何使用共享库动态链接库

CS:APP 第四章学习笔记

CS:APP 第四章 Processor Architecture 的学习笔记

这章的主要内容为一个简化的指令集 Y86-64 的设计以及 Y86-64 处理器的实现顺序实现和 pipeline 实现

CS:APP 第三章学习笔记

CS:APP 第三章 Machine-Level Representation of Programs 的学习笔记

这章的主要内容为汇编machine-level programming

CS:APP 第二章学习笔记

CS:APP 第二章 Representing and Manipulating Information 的学习笔记

这章的主要内容为 byte整数和浮点数的存储及计算

CS:APP 学习笔记系列 序

想开一个 CS:APP 学习笔记的系列感觉还是有一些东西需要在系列开头简单说一下所以有这篇序

初学 Rust

早就想学 Rust 了但一直咕着这次小学期的程设训练开了 Rust 课堂就毫不犹豫地选了也以此为契机学了 Rust

这篇就是简单记录一下大体上的学习过程如果有什么心得体会经验分享之类应该会开新的文章

顺便也算是程设训练的游记了(游记这个词来源于 OI 时期的习惯

busuanzi 访问量统计与 live2d 插件同时使用导致 busuanzi 不显示的根本原因以及解决方法

昨天在一位网友的 Hexo 博客遇到了很诡异的 busuanzi 访问量统计不显示问题经过一番研究发现是 busuanzi 代码的一处问题和 live2d 插件的一处问题凑在一起导致的

今天在写博客之前先搜了一下 busuanzi live2d发现搜出来一堆结果我还以为我白研究了..结果点进去一看第一页结果里没有一个指出了问题的根本原因而且修复方法基本上都是删 feature 或者换组件但实际上只要知道问题的根本原因就可以在不妨碍正常功能运作的前提下进行修复所以昨天晚上没白忙活我这篇博客还是要写的

使用 Caddy Security 时的 Uptime 监控

Caddy Security 不仅会将未经认证的访问者拒之门外也会拦住 可爱的 kuma 酱 Uptime Kuma这里会分享一下我的一个放过 kuma 的小技巧

有关 THU 选课的一些常见问题与注意事项

还记得刚入学的时候我一开始完全没弄明白要怎么选课当时就想着弄明白了要写一篇选课指南

后来我弄明白之后发现不记得自己以前为什么不明白了写不出来了

再后来我发现一些身边的同学到了选大二的课的时候还没弄明白选课流程

所以虽然选课指南是写不出来了姑且是列举一些常见问题与注意事项供参考