go语言如何使用rbp, rsp, 参数如何传递, 为什么go的返回值写在后面
# 为什么go的返回值写在后面
go一直被鼓吹语法比java好, 性能跟c一样. 让我们来看一看go语言各部分对应的二进制指令, 是如何实现的
现在的想法是写个一系列文章, 把go的所有语法的实现方式都分析一遍, 不知道会不会半途而废
### 本文所有的分析方法, 结论都是本人猜测的, 查各种文档太费时间了, 当然不是乱猜, 都是有依据的
先看栈回溯最基本的方法, rbp, r
烂尾工程: Java实现的汇编语言编译器
一个半拉子工程, 用Java实现的汇编语言编译器的介绍. 代码中使用中文命名. An unfinished project, an assembler implemented in Java, with naming in Chinese.
关于信号量与线程互斥锁的区别与实现
http://dev.firnow.com/course/6_system/linux/Linuxjs/20090901/173322.html
之前一直没有怎么关注过这个问题,前些日子在面试一家公司的时候,面试官提到了pthread_cond_wait/pthread_cond_signal的实现,当时答的不是很好,回来就查了nptl的代码。
对合矩阵的两个性质
设 $n$ 阶矩阵 $A$ 满足 $A^2=E$. 证明: (1) $A$ 相似于形如 $\dps{\sex{\ba{cc} E_s&\\ &-E_{n-s} \ea}}$ 的矩阵; (2) 对于任何正整数 $m,k$, 都有 $$\bex \rank(A+E)^m+\rank(A-E)^k=n.
深入理解C++中的RVO
## 前言
考虑存在这样一个类如HeavyObject,其拷贝赋值操作比较耗时,通常你在使用函数返回这个类的一个对象时会习惯使用哪一种方式?或者会根据具体场景选择某一种方式?
```c
// style 1
HeavyObject func(Args param);
// style ...