»
(008) CubeIDE Implementation of USB Peripherals*
(018) C99 pointer*
(019) C99 With only value assignment*
(022) POSIX pthread multi-threads mutex*
(023) POSIX pthread multi-threads programming*
(027) C99 time and wait*
(028) High-precision calculation with GMP*
(029) Web Service Lib*
(030) International Components for Unicode (ICU)*
(031) Performance of C is higher than C++, because...*
(056)编译器优化出错点
1、等待变量及延时等待的死循环空操作while(!done);for(int i=0;i<15*8000;i++){}
(__asm volatile("nop"))
2、结果未被使用的基本运算
(volatile int result = 0;)
3、没有明显副作用的函数及函数调用
(__attribute__((used)))
4、编译器能推断出的恒定条件分支
(volatile)
5、浮点运算优化导致精度问题
(no-fast-math)
6、变量被缓存在寄存器中
(volatile)
7、不同类型的指针不会指向同一内存
(union)
-fno-fast-math
-fno-strict-aliasing
__attribute__((noinline))