C使用

1.理解回调函数

https://blog.csdn.net/zhuwentao2150/article/details/51006347

2.pthread_cond_init()

https://www.cnblogs.com/secondtonone1/p/5580203.html
g_thread_exit和join的区别是join必须等待所有事情结束,比如线程里面有loop,必须先退出

3.attribute((visibility(“default”)))(同名函数库链接问题)

https://blog.csdn.net/mutourenzhang/article/details/47803803

4.Linux系统获取用户空间ns级时间精度——clock_gettime

https://blog.csdn.net/zhao_h/article/details/80661111

5.gcc/g++实战之动态链接库与静态链接库编写

https://www.cnblogs.com/zjiaxing/p/5557629.html

6.字节对齐全解(同时考虑评论中首地址对齐情况)

https://www.cnblogs.com/hummersofdie/p/3140477.html

7.避免过多的switch…case

函数法->map法->工厂方法(new),switch case存在但变小,推荐
https://blog.csdn.net/acaiwlj/article/details/49444099
所有分享类型预先缓存在Map里,那么就可以直接get获取具体类型
https://juejin.im/entry/5a770c7d6fb9a0633d71b1fa
[查表,map应用]https://blog.csdn.net/lihua5419/article/details/83014810
1.匹配到返回结果,没匹配到保持原结果
2.同对象,同参数,临时map
[尽可能地维持正常流程代码在最外层。]https://blog.csdn.net/qq_35440678/article/details/77939999

8.避免引入更多的头文件

1.使用前置声明: 引用/指针/返回值/void*(强转),用
2.struct: 头文件里是声明,定义放到.c里,但外面不能直接调用而是要通过函数的方式

9.++i, i++

https://blog.csdn.net/u012247418/article/details/84675213
++i,先自增,后引用,
i++,先引用,后自增。
从编译器的角度理解

  1. a[j++]=j++; a[0] = 1, j = 2
  2. a[j++] = j;a[0] = 1, j = 1
  3. a[j] = j ++;a[1] = 0, j = 1
10.枚举用位偏移定义来提高效率
5. /**
 * Memory access flags.
 */
typedef enum Access
{
    None        = 0,
    Readable    = 1 << 0,
    Writable    = 1 << 1,
    Executable  = 1 << 2,
    User        = 1 << 3,
    Uncached    = 1 << 4,
    InnerCached = 1 << 5,
    OuterCached = 1 << 6,
    Device      = 1 << 7
}
if (A_flag & B)// A flag 是否含有B
A_flag |= B	 		// A_flag加入B

为了提高效率所有的IO操作函数全部都是inline
11.结构体中最后一个成员数组定义0个元素的意义
https://blog.csdn.net/iliujie/article/details/77619888
12.重构
https://www.jianshu.com/p/3b34f337eaee
13 二维数组传参
本质上是二维数组退化为char (*a)[]和char**不同。
https://www.cnblogs.com/zl1991/p/4748733.html
1.[snprintf]https://blog.csdn.net/czxyhll/article/details/7950247
14 gtest
https://www.jianshu.com/p/b8d3e6f6a20a
15 printf打印界面以及printf输出颜色
https://blog.csdn.net/Rong_Toa/article/details/80182043

你可能感兴趣的:(c,c++)