WCH的最新RISC-V开发工具带了GCC8和GCC12两套编译器。
好消息是GCC12使用-flto优化选项终于正常了,坏消息是同一套工程,GCC12加-flto优
化比GCC8不加-flto优化代码体积还大。
这更新了个寂寞。
和WCH工程师沟通了下,自己又测试了下,最终找到了原因,GCC12的C库strtok函数实现
可能有问题,使用后会引入一大堆io相关库函数,导致代码体积异常增大。
把SDCC库中的strtok函数实现拿过来,实测终于正常了,相同编译选项GCC12比GCC8大约
能小1.5%,加上-flto选项代码体积能降低12%。1.5%微不足道,不过12%就十分可观了。
GCC太不让人省心了。
--
FROM 222.90.31.*