我刚刚将一个 STM32 微控制器项目从 Keil uVision(使用 Keil ARM 编译器)移植到 CooCox CoIDE(使用 GCC ARM 嵌入式编译器)。
问题是,与 Keil uVision 相比,使用 GCC 在 CoIDE 中编译时的代码大小是两倍。
怎么会这样?我能做些什么?
Keil 中的代码大小:54632b (.text) CoIDE 中的代码大小:100844b (.text)
GCC 编译器标志:
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -g2 -Wl,-Map=project.map -Os
-Wl,--gc-sections -Wl,-TC:\arm-gcc-link.ld -g -o project.elf -L -lm
我怀疑 CoIDE 和 GCC 会编译项目中存在的许多函数和文件,但尚未使用(尚未)。即使我在那里只使用 20 个函数中的 1 个函数,它是否有可能编译整个文件?(即使我有-Os)..