【C】库(.so, .a)中函数重名情况的分析

发布时间 2023-06-18 11:19:22作者: 徐大树
测试环境: Mac OS, gcc 编译器, 动态库/静态库
 
第一种情况:重名函数不在库里,在编译的源代码里。
链接的时候会出错,提示“重复的符号” ( duplicate symbol ) 错误。
 
第二种情况:重名函数一个在库里,一个在源代码里。
不会出错,会执行源代码里的函数, 而不会执行库里的函数。
 
第三种情况:重名函数在两个库里。
不会出错,先链接那个库,就执行哪个库的函数。