我是一个C++开发人员,我对Cocos2d-x框架感兴趣。我知道您可以使用这个框架编写C++代码,为不同的平台编译它--仅此而已,您可以在Windows、Android、iOS上使用2D。这是令人惊讶的,但我不明白它是如何完成的,因此,我担心我为一个平台所做的某些事情将无法在另一个平台上工作。为了更详细地谈一谈,我想谈谈我的担忧。为了做到这一点,让我们澄清什么是compiling,什么是running,代码。
现在回到COSOS2D-X。如何编译C++代码,使其能够被不同的OSes和不同的CPU识别和加载。为了获得适当的.apk、.ipa或.exe文件,我们使用了哪些机制。在使用系统调用或处理器特定的调用时,是否有一个陷阱可以掉下来?一般来说,这些问题是如何解决的?请解释一下这个过程,例如,安卓系统,否则对iOS来说也会很棒。:)
发布于 2013-08-03 20:00:13
Cocos2d-x对于所有目标操作系统和平台都有95%的相同代码。它有5%的代码是为具体的平台编写的。例如,Android有一些Java源代码。还有一些用于iOS的Obj文件.另外,在C++中也有一些针对不同平台的代码。#define用于分隔这段代码。这类代码的示例使用的文件是用C++编写的,但不同平台的文件不同。
生成适当的输出文件是用于目标平台的编译器和SDK的责任。例如,带有clang编译器的xCode将生成iOS构建。而Android NDK和gcc在一起,将构建apk。
https://stackoverflow.com/questions/18032066
复制相似问题