我的应用程序引用了许多共享库。其中一些是用C++编写的,它们引用了libstdc++.so,而后者又引用了libgcc_s.so。但是其他库则是用纯C编写的,并通过-static-libgcc进行链接。
现在,我有libgcc的一些静态链接代码位于多个共享库中,而libstdc++在运行时动态加载其他部分的libgcc。
Q1:这种设置会给我带来任何问题吗?libgcc是否具有内部状态,使得此混合链接成为问题,还是只是内联函数?
Q2:为了使我的应用程序在旧版本的Linux上工作,我应该发布libstdc++.so和libgcc_s.so并在主exe上使用rpath进行加载。这是正确的方式吗?