C++ 笔记

1. 可重入函数

  (1)不使用静态变量和全局非const变量

  (2)不使用锁

  (3)不调用任何不可重入函数

  (4)使用volatile防止寄存器缓存变量

  See Aslo :

    CPU的乱序执行,会使得对共享变量的访问变得不可知

 

2. 线程

  用户使用的是用户态线程,Kernel运行的是内核态的线程

  OS会限制内核线程的数量,内核线程上下文切换代价较高

  

3. 构建(build)

  预编译:处理宏、条件编译、注释等

  编译:把高级语言编译优化成汇编语言

  汇编:把汇编翻译成机器指令

  链接:

 

4. 编译:

  (1)词法分析:把源代码分割成一系列Token

  (2)语法分析:生成语法树

  (3)语义分析:将语法树的表达式标识类型

  (4)目标代码的生成与优化

 

posted on 2016-08-22 11:28  aoun  阅读(129)  评论(0)    收藏  举报