GNU ld:弱声明压倒强声明
发布时间:2020-12-16 07:16:18 所属栏目:百科 来源:网络整理
导读:我正在编写一个裸机应用程序,并且遇到了一个我认为与链接器有关的问题. 问题: IRQ处理程序未从提供的静态库链接.使用__attribute __((弱,别名(“defaultInterrupt”)))在库外声明IRQ.提供此属性时,IRQ未链接.删除该属性后,IRQ将被链接. 这篇文章:Linking w
我正在编写一个裸机应用程序,并且遇到了一个我认为与链接器有关的问题.
问题: IRQ处理程序未从提供的静态库链接.使用__attribute __((弱,别名(“defaultInterrupt”)))在库外声明IRQ.提供此属性时,IRQ未链接.删除该属性后,IRQ将被链接. 这篇文章:Linking with static library not equivalent to linking with its objects表明问题可能是链接器没有找到强声明,因为它停止搜索,但没有建议修复. 题: 有没有办法确保链接器找到强声明的函数? 环境: 我正在使用ARM发布的arm-none-eabi-ld,在这里找到:arm-none-eabi 已经尝试过: 重新排序传递给链接器的库 解决方法
很久以前,类似的问题在一个不太遥远的星系中被问到:
Override weak symbols in static library
TL;博士; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |