如果我在Windows机器上运行的虚拟机上编译了一些C ++代码,我可以为其他平台编译吗?在安装了Mac OS的虚拟机上编译C ++代码(使用Mac编译器)会给我一个可以在Mac上运行的工作文件吗?
答案 0 :(得分:3)
两部分答案:是, 但 您无法合法安装Mac OS虚拟机。但是,交叉编译器是在一个体系结构上编译并生成在另一个体系结构上运行的代码的编译器。这是合法(对于嵌入式架构而言有些常见)。
答案 1 :(得分:1)
您的问题与虚拟机完全无关。
您实质上是在询问C ++是否是一种可移植语言。
答案是肯定的,C ++是一种可移植的语言,只要你足够小心,只使用标准功能并避免使用只能在特定操作系统上运行的外部库。
请注意,C ++是一种可移植的语言,通过编译C ++生成的可执行文件通常不是。因此,您需要在要定位的每个系统上重新编译。