问题疑惑记录

1.sizeof是什么时候编译?返回值类型;

2.函数入栈顺序?

3.位域的优缺点,以及是否具有可移植性;

4.复杂度计算?

5.预编译?

6.断言?

7.可变参数?

8.结构体变量是否可直接赋值使用,是否可以使用==做判断;两个结构体如何做比较?memcmp

9.cmake

10.gdb

  手把手教你玩转GDB

11.arm汇编

12.双向链表和单向链表

13.数据结构

14.求第五个大的数?
15.执行./a.out时系统做了哪些动作?

16.指针和数组的区别;

17.tcp和udp区别?

18.进程和线程的区别,哪一块是线程独享的;

19.静态库和动态库的区别;

    1. 静态库在编译的时候直接将代码整合到目标程序中,编译后的可执行程序是独立的可执行程序,浪费内存;

  2. 动态库在运行的时候才会被载入。避免浪费内存;

 3.g++ -fPIC -shared -o libdynmath.so DynamicMath.cpp

20.排序方法

     

21.互斥锁的实现逻辑

22.字节对齐,是全部都是默认四字节对齐?

23.负数的左移和右移有什么区别?

  测试-125 >> 1 为多少?

  实测值为:-63

  原因:1.负数在内存中的存储方式是以数据补码形式存放;

     -63的补码:  1100 0001

      右移一位 :  1110 0000

      还原数为 :  1010 0000

      则表示为 :  -32

  说明右移时:符号位跟随移动,但最高位(符号位)补0还是补1取决于编译系统的规定;在我测试的编译环境中是补1操作;

 24. 0x01  << 2 + 3;

  数值是多少?

  实测:值等于32;

  原因: +号优先级大于 << ;

  注意点:左移右移的位数不能大于和等于数据的长度,不能小于0;

  

原文地址:https://www.cnblogs.com/weiyouqing/p/12610433.html