【C/C++】随笔1

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

5:#pragma pack(n) 对齐

 例如:

#pragma pack(push)  // 保存对齐状态
#pragma pack(4)     // 设定为 4 字节对齐

struct test
{
    char m1;
    double m4;
    int m3;
};

#pragma pack(pop)   // 恢复对齐状态

 6:extern

extern int a;//声明一个全局变量

int a; 

extern int a = 0;

int a = 0; //都是定义一个全局变量

posted @ 2019-09-18 15:35  Amadios  阅读(108)  评论(0)    收藏  举报