我有以下场景:
有两个组件,一个用C 11编写,另一个用C 98编写.
两者都是使用相同的GCC 4.9从头开始编译的.一个使用隐式默认值–std = gnu 98,另一个显式设置–std = c 11.
即使在做了一些研究后,如果这可能导致问题,我也无法完全回答这个问题.
GCC wiki说:
The C++98 language is ABI-compatible with the C++11 language,but several places in the library break compatibility. This makes it dangerous to link C++98 objects with C++11 objects. If you can recompile your code in matching versions of the language,you should do that.
这表明存在问题.
所以问题是:
>如果使用–std = gnu 98和–std = c 11构建的两个组件链接在一起是否存在问题,即使很难使用相同的libstdc并使用相同的编译器(GCC 4.9)构建?
> Dual ABI支持表格GCC 5.1在这种情况下有影响吗?