有C++ 11到C++ 03转换器吗?

szx*_*szx 8 c++ converter c++11 c++03

是否有这样的工具能够将使用某些C++ 11功能的代码转换为C++ 03兼容代码(可能使用某些第三方库,如Boost)?

Omn*_*ous 5

因为没有人回答实际答案,答案是"否".只需升级您的工具链即可.无论如何,有很多很好的理由.

对于Ubuntu和其他Linux变体,如果你想在一个非常古老的系统上使用新的工具链,你甚至可以下载源代码形式的包并为你的古代系统编译它.当然,如果您随后使用此程序发送程序,则必须libstdc++静态链接或将共享库与程序一起发送.

任何人都不可能编写转换器,因为升级工具链很容易.这将是一个有趣(而且相当复杂)的爱好项目.也许某人有一天会编写一个C++ 11编译器,而不是编译成C99.:-)这可能会更容易.

  • @szx如果你动态链接一个新的glibc/libgcc,你通常不能在具有旧glibc/libgcc的系统上使用生成的二进制文件.您需要在旧系统上安装gcc,使用旧的glibc,然后在那里执行构建.但这不是因为静态链接的libstdc ++. (3认同)