弦外之音

公告:《FFmpeg原理》一书创作中,访问地址:ffmpeg.xianwaizhiyin.net

接着上篇文章分析,main.c ,sum.c,main 3个文件,下载地址:百度网盘,提取码:cat1 。用 xelfviewer 打开 文件 main ,如下图: 上图我圈出来几个重点,上面的 Offset 是指这个字段在 main 文件的位置,例如 0x12 ~ 0x14 ...

发布 0 条评论

编译系统的编译流程如下,摘自《深入理解计算机系统》。 从上面的流程图可看出,编译系统的最后一步是生成 可执行文件 hello 。在前面一步,是 ld 链接器把 多个 .o 文件 链接在一起。由于本书叫 ”自底向上研究方法“,所以肯...

发布 0 条评论

这本书名为什么叫 编译系统,而不是 编译原理,因为严格来说,编译原理 是针对 编译器的技术。而做程序开发,经常接触的不只是编译器,还有汇编器,链接器。所以我把这3个东西,编译器,汇编器,链接器,统称是 编译系统。 由...

发布 0 条评论

相信各位程序员都有魔法上网的需求,博主在此推荐一个自己用了多年的 魔法工具 jsqpro,购买链接。 价格:1个月只需 30块,年费会员更是低至16元一个月。 配置:不限速。

发布 0 条评论

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 条评论