标签: c linker shared-libraries
我正在研究传统的构建基础架构,它禁止在构建动态可加载的共享库(使用-fPIC构建)中使用通用符号。 (构建基础结构禁止使用'nm libtest.so | grep“C”'。另一个模块使用dlopen(libtest.so)加载此共享库。) 我需要帮助理解为什么在libtest.so中使用通用符号是个坏主意。
我看到库中所有未初始化的全局变量都是常见的符号,但是在加载库时它们应该被初始化为NULL。或者还有一些我在这里缺少的东西。