Linux应用编程基础学习.docxVIP

  • 3
  • 0
  • 约1.01万字
  • 约 17页
  • 2019-06-11 发布于广东
  • 举报
Linux下开发基础知识 touch 命令:可用于新建文件,如;touch /tmp/zhangxian.txt 关于volatile的介绍(类型修饰符,指令关键字) 4 .编译器优化介绍 由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓 存Cache加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行, 没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是 硬件级别的优化。再看软件一级的优化:一种是在编写代码时由程序员优化,另一种是由编 译器进行优化。编译器优化常用的方法有:将内存变量缓存到寄存器;调整指令顺序充分利 用CPU指令流水线,常见的是重新排序读写指令。对常规内存进行优化的时候,这些优化 是透明的,而且效率很好。由编译器优化或者硬件重新排序引起的问题的解决办法是在从硬 件(或者其他处理器)的角度看必须以特定顺序执行的操作之间设置内存屏障(memory barrier), linux提供了一个宏解决编译器的执行顺序问题。 void Barrier(void) 这个函数通知编译器插入一个内存屏障,但对硬件无效,编译后的代码会把当前CPU寄存 器中的所有修改过的数值存入内存,需要这些数据的时候再重新从内存中读出。 volatile总是与优化有关,编译器有一种技术叫做数据流分析,分析程序中的变量在哪里

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档