debug的时候,忽然发现这个函数没有函数实现的地方,只有函数的调用和声明。
仔细看了看这个函数的定义,前面居然有一个__weak,得,查查看看__weak是干什么的吧。
走后面是从ARM网站搜到的,偶也!
读完之后呢,大概总结两点:
1. 带__weak的函数,不一定非得有函数实现。有就最好了,当non-weak一样处理。如果没有函数实现,请看第二点。
2. 如果没有函数实现体,linker会把这个函数处理成nop或者BL到下一条语句。
真的是这样吗?得自己动手看看才行,实践出真知嘛!罗德巴赫伺候!!!
看到了吧,那个高亮的2039行有两个nop出现,到底是不是我们那个函数呢?去代码看看喽!
果然,2039行正是我们那个朝思暮想的函数。
好啦,到此为止,休息一会!
------------------------------------------------------------------------------------------------------------------------------
///
How does __weak work?
Applies to:<