本来编译就是只编译那些用到的函数,没有用到的函数是不会被编译进固件的。
楼主可以试一下,生成一个新的.c文件并包含在工程中,但是main中没有用到这个.c文件中的任何函数,编译出来的结果是和原来一样的。
没用的代码不会编译进去,编译之前有个预编译,就已经把一些没用的代码处理掉了。
实际情况,可以反汇编出来看看