c++ - 使用和不使用 std=c++0x 混合库的任何问题

标签 c++ gcc c++11

我正在编写一个库,该库必须依赖于当前未编译并支持新标准的库。我想编译一个必须依赖于 std=c++0x 的库。这样做有什么问题吗?

最佳答案

如果混合使用不同编译器选项编译的库,则必须确保接口(interface)中数据类型的 ABI 相同。有些数据类型(如std::string)在C++03和C++0x之间有不同的接口(interface)和要求,所以使用它们的接口(interface)一定要小心。

如果您的接口(interface)仅使用内置类型和您自己的类,而这些本身不使用任何标准库类,那么一切都应该没问题。否则,您将需要检查您正在使用的特定子集。

关于c++ - 使用和不使用 std=c++0x 混合库的任何问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6494101/

相关文章:

c++ - 元组的运行时索引

c++ - 使用 float 和 double 的差异很大

c++ - 从 Perl 代码调用 C++ 程序

c++ - 无法在共享库中插入断点

c - 使用双下划线时启用编译器警告

c - 当我尝试从 C 程序调用已编译的 NASM 函数时出现 undefined reference 错误

c++ - 如何在列表初始化中添加额外的语句?

c# - 如何通过 lpEnvironment 在 C# 中调用 CreateProcess()

c - 对齐堆栈是什么意思?

c++ - 使用 lambda 访问成员函数内的类模板参数类型失败