手工打造一把锁
接上篇(https://yq.aliyun.com/articles/59034 ),我们知道了lock的意义。回到之前的多线程加法操作,当然也可以通过pthread提供的互斥锁来保证结果是正确的。那互斥锁本身是如何保证原子性的呢?当然首先获得锁的操作需要是一个指令,而不能用加载-比对-存储这种类.
一个有趣的过程 movq %rcx, %gs:0x80000000不能通过编译
# movq %rcx, %gs:0x80000000不能通过编译
今天有同事提问, 为什么
```
movq %rcx, %gs:0x7fffffff //可以通过编译
movq %rcx, %gs:0x80000000 //不能通过编译
```
其实就是一个立即数的差别, 应该是无差的, 好吧, 让我们来研究一下
# 第一步
先看一下```movq %rcx, %g
烂尾工程: Java实现的汇编语言编译器
一个半拉子工程, 用Java实现的汇编语言编译器的介绍. 代码中使用中文命名. An unfinished project, an assembler implemented in Java, with naming in Chinese.
[家里蹲大学数学杂志]第260期华南师范大学2013年数学分析考研试题参考解答
1已给出一个函数的表达式 $F(x)$, 其为 $f(x)$ 的原函数, 求 $\dps{\int xf(x)\rd x}$.
解答: $$\beex \bea \int xf'(x)\rd x &=\int x\rd f(x)\\ &=xf(x)-\int f(x)\rd x\\ &=xF'(x)-F(x).