检查map文件时发现,c文件中没有使用的函数也会被分配一段RAM中的地址。有些没有使用的函数中包含字符串常量,在AIS生成的bin文件中能够直接看到,这是正常的嘛?
为什么不用的函数也要占用内存空间?
Shine:
没用到的函数应该不会被编译进.out文件,你可以load .out文件,去查看有没有这个没用到的函数。
yangguang yang:
回复 Shine:
有两点可以证实没有被调用的函数确实被编译进out文件并分配内存了:
1、map文件中能够找到该函数的名字和分配的首地址
2、如果函数中有字符串常量,很容易用文本编辑器在AIS文件中找到对应的字符串常量
某款mcu集成开发软件经过同样的方法检查后就没有被编译
yangguang yang:
回复 Shine:
另外,“你可以load .out文件,去查看有没有这个没用到的函数” 如何查看?
Shine:
回复 yangguang yang:
yangguang yang
另外,“你可以load .out文件,去查看有没有这个没用到的函数” 如何查看?