我有两个类似的(比如linux)平台A和B。A支持C++03和C++11;但是B只支持C++03编译器。
我在平台A上编译代码(使用C++03),并且能够在B上运行它的二进制代码,没有任何问题。这种情况对C++11也是正确的吗?(它可能在我的平台上工作,但希望在更广泛的意义上了解)。
换句话说,C++11是否仅限于编译,或者它也是一个框架增强(添加了对新库和线程的支持)?
发布于 2011-07-09 15:25:01
一般来说,可以,但目标计算机上应该存在C++0X运行时库,或者您应该将运行时静态链接到可执行文件中。
发布于 2011-07-09 15:20:13
是。
一旦你有了二进制文件或可执行文件,它们应该可以在任何平台上工作。这就是他们最初的目的。
发布于 2011-07-09 15:23:29
由于C++,无论是什么版本,都会编译成程序集(如果是动态链接的话还会编译成OS-API-call),所以只要平台支持指令集(并且存在正确的DLL),就一定可以做到。
https://stackoverflow.com/questions/6633355
复制相似问题