我们一段代码来研究函数调用的过程.首先我们写一段简单的小程序: int sum(int c, int d) { inte = c + d; returne; } int func(int a, int b) { returnsum(a, b); } int main(void) { func(2,3); return0; } 通过gcc编译.在编译命令中要加上-g选项,这样在使用objdump反汇编时可以把C代码和汇编代码穿插起来显示,这样C代码和汇编代码的对应关系看得更清楚.
不要管我的地位和 D 语言创造者之一的身份.我会坦诚的回答这个问题.我熟悉 Go 和 Rust,并且知道 D 的缺点在哪里.我鼓励人们在 Rust 和 Go 社区相似身份的人,也可以提出他们诚恳的观点.接着,我们开始吧. 首先,C++ 在这个问题中也应该被提及.不管它是否取代 C,或是成为取代 C 的候选人之一,C++ 是这个等式的一个关键部分.它是最接近 C 的,同时也是从 C 中来的.在下面几个问题中我会假设 C++ 是把取代 C 作为目标的. 每一个语言都有一些基础优势(我称之为“十倍优势