Linux64 和 Linux64 ABI=1 有什么区别呢?

原来是Linux64,如果换到 Linux64 ABI=1 这个版本有影响吗?

请先 登录 后评论

1 个回答

Xinhai Tang

Linux64 ABI=0 和 Linux64 ABI=1 的区别:

 -D_GLIBCXX_USE_CXX11_ABI这个是个宏定义,在gcc 5.1开始引入这个宏。主要是因为,从gcc 5.1开始,libstdc++为了更好的实现c++11规范,而更改了std::string和std::list的一些接口。这样就会导致新老版本ABI不兼容了。为了使新的ABI兼容老的版本,定义了该宏,默认为1,即使用新的C++11规范,如果为0 则表示使用老的ABI规范。

如果直接转换是有影响的,插件运行在server进程里,要保持一致。

请先 登录 后评论