昨天调试一个MDK5 工程,在其中的一个编译通过的C文件中怎么都设不了断点,详细分析,此仍件虽然编译通过,但没有被链接到最终生成的 CODE 中 非常纳闷。
查找了很久才知道,这居然是被MDK5的智能链接优化掉了,原因是虽然文件编译通过,此文件只有一个函数,并此函数与其它文件的函数重名,链接程序链接到其它C文件,此C文件因为没有人需要调用它,所以MDK5的链接程序认为此C文件没有,干脆就忽略此文件,不产生代码。
MDK5这个智能链接是好事,但函数重名没办法提醒,这样参和在一起,Debug会更加因难 |