使用GCC从*nix交叉编译到Windows是否允许使用VC++;? 我想为Windows和*nix构建C++应用程序。除了能够测试所有的事情在一个步骤中编译好,我想知道这是否允许我使用VC++还没有支持的C++标准的部分——比如可变模板和其他一些特性。

使用GCC从*nix交叉编译到Windows是否允许使用VC++;? 我想为Windows和*nix构建C++应用程序。除了能够测试所有的事情在一个步骤中编译好,我想知道这是否允许我使用VC++还没有支持的C++标准的部分——比如可变模板和其他一些特性。,c++,g++,cross-compiling,C++,G++,Cross Compiling,这可能吗?逻辑似乎决定了这一点,但我想这取决于GCC是否需要一些Windows特定工具来生成这些东西作为交叉编译阶段的一部分。 < P>嗯,首先,如果你用标准C++写,迟早VC++会赶上Waver的。其次,您不必在windows下使用VC++。您可以使用gcc移植到Windows的MinGW 一般来说,在编写便携式软件时,有两件事需要注意: 特定于体系结构的操作:为了使软件可移植,您不应该依赖于特定的体系结构。例如,假设long int为32位 操作系统操作:这可能是一个更难处理的问题。如果您

这可能吗?逻辑似乎决定了这一点,但我想这取决于GCC是否需要一些Windows特定工具来生成这些东西作为交叉编译阶段的一部分。

< P>嗯,首先,如果你用标准C++写,迟早VC++会赶上Waver的。其次,您不必在windows下使用VC++。您可以使用gcc移植到Windows的MinGW

一般来说,在编写便携式软件时,有两件事需要注意:

  • 特定于体系结构的操作:为了使软件可移植,您不应该依赖于特定的体系结构。例如,假设
    long int
    为32位
  • 操作系统操作:这可能是一个更难处理的问题。如果您有一个特定于操作系统的操作,例如创建一个目录,那么您应该为它编写自己的函数,其中包含执行不同任务的
    #ifdef
    s,这些任务基于编译它们的操作系统
我想知道这是否允许我使用VC++中还没有支持的C++标准的一部分——比如可变模板和其他一些特性。 对。对于最终的可执行文件来说,重要的是编译器生成或链接到什么代码,而不是VC++能做什么


但是,请注意特定于平台的说明和方法

什么是*尼克斯?它是否与UNIX??@ StFaFANV:'*NIX '是一个缩写,用来表示UNIX的各种亚种,包括Linux。有一个C++的11的全能HekFoalt,它是在CRT和标准C++库中实现的。不仅仅是编译器。@Hans:很好地指出-编辑以反映这一点(在我看来,这并不影响“是”本身)