弦外之音

好消息:《SRS原理》一书荣获官方推荐,访问地址:https://srs.xianwaizhiyin.net

CPU芯片里面通常集成多级缓存,L1缓存,L2缓存,L3缓存,如下: 可能有人会比较疑惑,L0 缓存去哪里了?我们程序员不应该都是喜欢从 0 开始的吗?答案是 L0 缓存实际上就是那 x86-64 架构的那 16 个通用寄存器,rax,rbx 等等...

发布 0 条评论

打算有时间写一本书,用另一种方法来讲解编译系统。目前的《龙书》《虎书》《编译器设计》,都是从编译技术的,前端,中间代码,后端来讲的。而且为了知识的迁移性,没有指定前端语言跟后端语言。这种教学方式,我认为是自顶向下的讲...

发布 0 条评论

本文主要对 C 程序的编译,链接等过程做一个简单的介绍,环境是 Ubuntu18 + gcc,代码如下: main.h 头文件代码: int add(int a,int b) main.c 文件代码: #include "main.h" ​ int main() { int age_1 =...

发布 0 条评论

WSL 是 windows10 自带的,全称 Windows Subsystem Linux,也就是在 Windows 套 Linux,这是一种半虚拟化技术,跟 VMware 有点区别。在 WSL 里面编译 FFmpeg 比 msys2 快一些。 第一步,以管理员身份 打开 Windows PowerShell ,...

发布 0 条评论

代码如下: #include <stdio.h> ​ extern char** environ; ​ int main() { int nIndex = 0; ​ for(nIndex = 0; environ[nIndex] != NULL; nIndex++) { printf("%s\n",environ[nInd...

发布 0 条评论

在早期,我做PHP开发的时候,有个疑问,PHP 的mysql库,每执行一条 sql,都有可能会返回更新失败的,例如硬盘坏道,网络有问题。等等。 这些情况,需不要我自己写一个 if 判断,更新失败了做一些处理,大多数情况是不需要要,做什...

发布 0 条评论

博主是一名高中毕业生,2013年18岁高中毕业就出来工作了,先来讲一下我为什么会进入软件开发这个行业。我读书时期,并不是一个特别聪明的人,最高的时候在班级里面排名第5,全校排名前60。比我聪明的人有不少,但是后面我发现,我是...

发布 4 条评论

我的环境是 ubuntu18,glibc 2.7,下面是我的代码: #include <stdio.h> #include <string.h> int main() { char str[20] = "aacdf"; int str_num = strlen(str); printf("str num i...

发布 0 条评论

x86 CPU 的发展历程如下图所示: 8086 指令:这个时期的CPU除了有通用寄存器外,还有一个 x87 FPU 单元,用来处理浮点数的。 MMX指令:这是第一个 SIMD 技术,全称是 Single Instruction Multiple Data,也就是一条指令操...

发布 0 条评论