怎么禁止ARMCC编译器自作聪明的优化部分代码——迁移帖

问题背景:有些中断服务函数、寄存器操作(通过读取来清除标志,读取以后不使用,编译器优化等级较高时会自动优化)不想优化,而其他代码想优化。
问题:除了使用volatile,嵌入汇编,还有什么方法可以禁止编译器自动优化部分代码吗?
猜想:编译器会不会提供了类似一对指令来框住不需要优化的代码呢?
求大神解惑。

还是多看帮助文档:

原文地址:https://www.cnblogs.com/mic-chen/p/13576879.html