关于弱符号和弱引用

宏定义
1 #define __WEAK_DEF__ __attribute__((weak))
2 #define __WEAK_REF__ __attribute__((weak))
关于上述宏定义的说明
关键字其实只有weak(没有weakref),究竟是弱符号还是弱引用,编译器会根据上下文自己来识别
强符号
即函数和初始化了的全局变量
弱符号
1 即未初始化的全局变量 or 显示用weak定义的符号
2 是在链接的时候,对"重复定义"的符号如何选择(注意是静态链接)
弱引用
1 是在链接的时候,对"未定义错误"如何选择(静态链接和动态链接都可以)
2 动态链接器在找符号的时候,如果对方是弱引用,找不到的话,不返回错误,直接返回0地址
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容