1:函数调用过程 参数入栈,参数越多开销越大。将控制权转移到函数中。 建立新的栈帧,即当前函数使用的栈空间,使用ebp来标识新的栈帧,所以要保存原来栈的首地址。 恢复原来的
1:函数调用过程
参数入栈,参数越多开销越大。将控制权转移到函数中。
建立新的栈帧,即当前函数使用的栈空间,使用ebp来标识新的栈帧,所以要保存原来栈的首地址。
恢复原来的栈帧,将控制权返回调用者。
2:inline
为了解决一些频繁调用的小函数大量消耗栈空间的问题,引入了inline修饰符。
inline不能包含有复杂的结构控制语句如while,switch并且不能递归
inline是对编译器的建议
类中的成员函数都是缺省内联的
inline是一种用于实现的关键字而不是用于声明,应该和函数定义放在一起
内联是以代码膨胀(每一个调用都会进行代码嵌入)为代价,仅仅省去了函数调用的开销提高效率。
3:TCP的三次握手和四次挥手
https://blog.csdn.net/qq_38950316/article/details/81087809
4:最近发现github上面有几个总结秋招的,有时间去读一读
https://interview.huihut.com/#/
https://github.com/linw7/Skill-Tree