从任何自动生成的 STM32CubeMx 生成的链接描述文件的底部:
/* Remove information from the standard libraries */
/DISCARD/ :
{
libc.a ( * )
libm.a ( * )
libgcc.a ( * )
}
来自 GNU Binutils ld(链接器脚本)手册,3.6.7 Output Section Discarding:
特殊的输出节名称“/DISCARD/”可用于丢弃输入节。分配给名为“/DISCARD/”的输出节的任何输入节都不包含在输出文件中。
这 3 个输入目标文件包含什么,为什么我们要丢弃它们中的所有内容(所有输入部分)?