o1专题

GCC 优化等级(O0、O1、O2、O3)对程序性能的影响

文章目录 前言代码示例性能差异探究原因附录 前言 GCC 有 O0、O1、O2、O3 四级优化等级,你知道它们对程序性能有多少影响吗?知道性能差异产生的根本原因是什么吗?今天就和大家一起研究下。 代码示例 combine4.c #include <stdio.h>#define COUNT 100000000int data[] = {0, 1, 2, 3, 4, 5,

keil5 compiler6 -o1读取内部flash硬件错误的问题

问题说明 最近在做gd32E230c8t6 BootLoader的时候,发现当打开编译优化-o1的时候,代码运行不正常。 代码会在读取内部flash内存时出现问题,进入了hardfault。但是改为-o0后,运行就正常了。非常诡异,后面经过反复测试逐步摸清楚了问题的原因。先看问题的代码 uint8_t temp[PAGE_SIZE];void run_bootloader(void){.