我可以在不支持它的平台上运行使用 C++11 编译的二进制文件吗?
Can I run binary compiled with C++11 on the platform which doesn't support it?
我有两个类似的平台(比如linux) A和b。A支持c++ 03和c++ 11;但是B只支持c++ 03编译器。
我在A平台上编译代码(使用c++ 03),并且能够在B平台上运行其二进制代码,没有任何问题。c++ 11也是如此吗?(它可能在我的平台上工作,但想知道更广泛的意义)。
换句话说,c++ 11是仅限于编译还是它也是一个框架增强(增加了对新库和线程的支持)?
一般来说,可以,但是目标机器上应该有c++ 0X运行库,或者您应该将运行库静态地链接到可执行文件中。
可以。
一旦你有了二进制文件或可执行文件,它们应该可以在任何平台上工作。
由于c++,无论什么版本,都可以编译成汇编(如果动态链接,还可以调用os - api),因此只要平台支持指令集(并且存在适当的dll),就可以这样做。
对比linux特有的答案:
Windows没有"支持c++平台"的概念。它反过来工作:c++编译器可以针对不同的Windows版本。VS2010的c++运行时支持XP SP2及更高版本。
相关文章:
- 如何在 atom 中编译 c++11
- 从远程主机中编译C 11代码的问题
- 为什么此代码编译 (C++11) 而没有类型不匹配错误
- 使用 g++ 5.4 编译 C++11
- 在Visual Studio代码中编译C++11
- 为什么"bool c = nullptr ;"编译 (C++11)?
- 如何使用 Orwell Dev-C++ 编译 C++11 代码
- 错误在Windows上使用Clang编译C 11程序
- 尝试在Linux上使用Clang++编译c++11 regex教程时出错
- 如何在Ubuntu上使用Eclipse编译C++11
- 使用 g++ 编译 C++11
- 如何更新 clang 版本以编译 C++11 项目?(在 Mac 上)
- g++错误,当试图用Rcpp编译c++11时
- 如何让g++使用move构造函数编译c++11代码
- 我如何在Ubuntu中编译c++ 11标准
- 在VS2010中编译c++ 11中的代码时,std::function()是否检查类型
- 为较旧的Linux编译c++ 11程序
- 使用-Wpedantic选项编译c++ 11:是否有一个选项可以只禁用关于未命名结构的警告
- 用Clang编译c++11代码的不完整类型
- 在CentOS for Windows上交叉编译c++ 11/14