rbpf虚拟机-即时编译器(JIT)
该篇文章是记录rbpf虚拟机即时编译器(JIT)方法过程。本文记录的是基于 x86-64 架构的 eBPF(Extended Berkeley Packet Filter)即时编译器(JIT)。(学习该虚拟机的目的是为了搞懂solana合约的执行方式,solana使用的rbpf是在该虚拟机上进行扩展。)
C++对象模型浅析
该文章转自阿里巴巴技术协会(ata)作者:霜天
VTable 虚表
虚表的内存分布
一个简单的包含虚函数的类的声明class A {
public:
virtual void v_a(){}
virtual ~A(){}
int64_t _m_a;
};
赣南师范学院数学竞赛培训第10套模拟试卷参考解答
1. 设 $f,g$ 是某数域上的多项式, $m(x)$ 是它们的首一最小公倍式, 而 $\scrA$ 为该数域上某线性空间 $V$ 的一个线性变换. 试证: $$\bex \ker f(\scrA)+\ker g(\scrA)=\ker m(\scrA).
手工打造一把锁
接上篇(https://yq.aliyun.com/articles/59034 ),我们知道了lock的意义。回到之前的多线程加法操作,当然也可以通过pthread提供的互斥锁来保证结果是正确的。那互斥锁本身是如何保证原子性的呢?当然首先获得锁的操作需要是一个指令,而不能用加载-比对-存储这种类.
go语言如何使用rbp, rsp, 参数如何传递, 为什么go的返回值写在后面
# 为什么go的返回值写在后面
go一直被鼓吹语法比java好, 性能跟c一样. 让我们来看一看go语言各部分对应的二进制指令, 是如何实现的
现在的想法是写个一系列文章, 把go的所有语法的实现方式都分析一遍, 不知道会不会半途而废
### 本文所有的分析方法, 结论都是本人猜测的, 查各种文档太费时间了, 当然不是乱猜, 都是有依据的
先看栈回溯最基本的方法, rbp, r