我们知道static静态函数相比于全局函数,会把范围限定在自己所在文件的范围,对其他的编译单元是不可见的!
那么若在动态库中定义了static静态函数并完成库的编译,那么在主程序加载并试图调用这个static静态函数的时候会找不到它!因此需要在主程序中直接调用的函数在动态库中不要定义和声明为static类型!
同样的问题也在stackoverflow有讨论:
https://stackoverflow.com/questions/5526461/gcc-warning-function-used-but-not-defined
Linux 在动态链接库中使用static静态函数会导致的问题
最新推荐文章于 2022-05-03 11:15:30 发布