碎碎念
最近在看《现代x86汇编》,感觉程序很神奇,我以前经常写的那些业务逻辑,界面。原来底层是加减乘除的汇编指令。大部分业务逻辑,都能用加减乘除 + 条件控制完成。 CPU 指令集的扩展就更有意思,一开始只有加减乘除 + 条件控制,...
最近在看《现代x86汇编》,感觉程序很神奇,我以前经常写的那些业务逻辑,界面。原来底层是加减乘除的汇编指令。大部分业务逻辑,都能用加减乘除 + 条件控制完成。 CPU 指令集的扩展就更有意思,一开始只有加减乘除 + 条件控制,...
本文主要向初学者讲解如何学习编译原理,编译原理是一个比较有趣的学科,当你学会编译原理之后,你就会知道 gcc 等编译系统是如何把 C程序转成汇编指令,同时也能明白 编译系统 的复杂性以及局限性,有时候编译系统无法使用到高级指...
CPU 是一个通用处理器,计算机领域 定义标准,分层抽象出公共功能之后,CPU 再对这些公共功能进行指令集设计。但是因为计算机发展了几十年,分层设计已经很多了,本文主要探讨,一个新的CPU指令集出来之后,要多久才能被上层语言使用...
工欲善其事,必先利其器,研究一个开源项目 首先要 找到怎么搭建调试环境,这里不是指用 GDB 调试,而是使用集成环境,vs2019 或者 Clion。集成环境更利于初学者去了解一个开源项目,如果你不借助调试,闷着头直接去看源码,会事半功...
《现代X86汇编语言》这本书截止 2022 年 3月,出版了两次,先讲第一版的调试环境搭建。 第一版的 代码可以在 github 找到,书中的 apress.com 已经找不到代码下载了,只能在 github 找。下载好 github 的代码项目之后,如下图: ...
由于本人做互联网各种业务系统开发有9年左右的时间,所以讲一些常见的场景来设计缓存。 假设,设计一个类似小红书的app,后端缓存应该如何设计。这里不直接讲最后的架构,而是讲 产品 周期,架构的迭代的过程以及各种思考策略。 ...
【秀才】Loken(2338195090) 16:29:49请教个问题,CPU有 L1,L2,L3 高速缓存,L3那么大,有64M。C语言 或者 汇编编程,有没什么奇淫技巧,能让某个程序更好的命中高速缓存。例如把L3的一半内存拿给我的特定程序用,其他的程序分剩下...
原文链接:https://blog.csdn.net/chuixue24/article/details/112644466 计算机中我们常常会混淆指令周期、CPU周期和时钟周期,要区分这些并不难,但要想彻底弄懂这些,就得要求我们对CPU底层有一定了解。 一.指令周期 指令...
在 webrtc 的架构中,如果无法打洞,数据包就会通过服务器转发,本文主要分析如何设计多线程架构,更快地转发数据包。先声明,我讲的不一定对。 先讲第一个问题,协程可以提高 流程图如下: Windows 系统中线程轮转时间也就...
在一个单进程中,信号会打断进程的执行,并且递送到进程中处理,而对于多线程环境,信号会递送给其中的一个线程,这个被递送的线程是不确定的。每个线程存在自己的信号屏蔽字,可以通过如下函数设置: int pthread_sigmask(int ho...