Can a C++;在Mac OS上运行的程序? 我看了一段视频,其中一个SCS软件的导演(谁制造了一个欧洲卡车模拟器游戏)说游戏完全是用C++编写的,但是游戏也在Windows和Mac OS上运行。他们如何才能做到这一点?在Mac OS上运行C++程序是否可能?< P>可以在终端上运行GCC或者使用XCODEL编译它,但是不能使用COGA,但C++中可以使用QT等选项。当然,Mac OS X也有C++编译器。一个甚至包含在xcode(Mac上的标准开发环境)中 但是这并不意味着你可以在MAC上编译任何C++程序。它必须设计为使用两种平台上都可用的库(而不是Windows上的MFC或Mac上的Cocoa)。例如,通过使用wxwidgets或QT,这是可能的。有了这两个库,甚至可以为Linux等Unix平台编译程序。

Can a C++;在Mac OS上运行的程序? 我看了一段视频,其中一个SCS软件的导演(谁制造了一个欧洲卡车模拟器游戏)说游戏完全是用C++编写的,但是游戏也在Windows和Mac OS上运行。他们如何才能做到这一点?在Mac OS上运行C++程序是否可能?< P>可以在终端上运行GCC或者使用XCODEL编译它,但是不能使用COGA,但C++中可以使用QT等选项。当然,Mac OS X也有C++编译器。一个甚至包含在xcode(Mac上的标准开发环境)中 但是这并不意味着你可以在MAC上编译任何C++程序。它必须设计为使用两种平台上都可用的库(而不是Windows上的MFC或Mac上的Cocoa)。例如,通过使用wxwidgets或QT,这是可能的。有了这两个库,甚至可以为Linux等Unix平台编译程序。,c++,macos,C++,Macos,是的 …好的,堆栈溢出至少需要30个字符。OSX附带C++编译器 CLAN++/COD>,它是在 LLVM之上。事实上,苹果不久前就停止提供gcc端口,因此开发者要么自己构建,要么适应clang。根据维基百科的说法,苹果公司自己开发的clang无论使用哪种语言,多平台程序都依赖于一些基本的支持部件,这些部件在每个平台上的实现方式不同。使用纯标准C++,这是标准库和运行时支持,但实际上,游戏也将依赖于具有特定平台实现的第三方库。因此,如果平台本身与C++语言的基本平台假设兼容,而MAC是这样的,那

是的


…好的,堆栈溢出至少需要30个字符。OSX附带C++编译器 CLAN++/COD>,它是在 LLVM之上。事实上,苹果不久前就停止提供
gcc
端口,因此开发者要么自己构建,要么适应
clang
。根据维基百科的说法,苹果公司自己开发的
clang

无论使用哪种语言,多平台程序都依赖于一些基本的支持部件,这些部件在每个平台上的实现方式不同。使用纯标准C++,这是标准库和运行时支持,但实际上,游戏也将依赖于具有特定平台实现的第三方库。因此,如果平台本身与C++语言的基本平台假设兼容,而MAC是这样的,那么实现这种可移植性在概念上是非常简单的,尽管难以获得完美。

作为一个不完全兼容C++的平台的例子,微软.NET虚拟机显然与C++的思想不一致,以至于微软发现有必要定义两种不同的C++标准变体,并且不提供在纯C++中为其生成GUI程序的方法。使用.NET的标准C++是不可能的,而使用C++与.NET的一个主要原因是将标准的C++部分与更多的.NET-Y部分结合起来;只是使用标准C++,代码变得复杂、低效,而且通常不实用。例如,我的第一个问题就在这里,如何在标准C++中通过COM技术做一个简单的.NET消息框作为中间层,并且是有效的,但是有一个可笑的复杂非通用支持代码。


另一个例子,可以说,在网页中使用C++是一个阻抗不匹配的问题。同样,微软是尝试使用ActiveX技术的主要参与者。事实证明,这是确保全世界的PC都被恶意软件侵扰的好方法,因为C++不是那种容易限制代码所能做到的语言。据我所知,只有微软自己的Internet Explorer浏览器支持网页中的ActiveX。从Windows 10开始,IE浏览器将被淘汰,取而代之的是更新的Edge浏览器,该浏览器不支持网页中的ActiveX。

Mac上运行的代码与Windows上运行的代码不完全相同,部分程序是特定于平台的。这个程序当然是为每个平台分别编译的。你几乎可以在任何平台上用任何编程语言编写程序。。。诀窍是为它找到正确的编译器(如果需要,还有库)。