如何使用gcc 4.4.7编译C ++ 11的C ++代码

时间:2016-10-12 07:04:49

标签: c++11 gcc

我正在研究使用一些c ++ 11功能的算法代码,但是我的linux系统只有gcc4.4.7而且我没有权限更新这个版本。我被告知通过运行某种脚本可以解决这个问题,这意味着使用gcc4.4.7仍然可以编译具有c ++ 11功能的c ++代码。

我的问题是,目前我在linux系统中只有gcc4.4.7,所以如果有一个解决方案可以帮助我编译一个使用c ++ 11功能的算法代码,我会徘徊,如关键字" nullptr& #34;" constexpr"等等,只使用gcc4.4.7。

顺便说一下,我已经知道gcc4.7及以上版本可以支持c ++ 11。

非常感谢!

1 个答案:

答案 0 :(得分:1)

如果编译器不支持语言功能,则不会运行魔术“脚本”来改变编译器对代码的理解。正如https://confluence.atlassian.com/bitbucketserver/files/808488431/813893206/1/1456788498243/image2015-7-28+10-25-9.png所见,gcc 4.4中没有一些核心C ++ 11特性。

那你能做什么?

  • 询问您的系统管理员是否允许您安装或要求他安装它。

  • 您可以在帐户中安装最新的gcc 本地。与传统安装相比,这需要的权限更少。

  • 或者,您可以从源代码在本地目录中安装gcc 。这应该是100%可行的,没有任何特殊许可(除了在您的家庭目录上写)

  • 或者,如果您正在学习的算法没有多个来源且不使用除boost之外的任何库,则可以在线编译并运行。你可以搜索自己,有很多C ++在线编译器。 here非常棒,因为它支持多个源文件,增强库甚至未来版本的gcc和clang的开发版本。