私は C++ 開発者で、Cocos2d-x フレームワークに興味があります。フレームワークを使用して C++ コードを記述し、さまざまなプラットフォーム用にコンパイルできます。それだけです。Windows、Android、iOS で 2D を使用できます。これは驚くべきことですが、それがどのように行われているのか理解できません。したがって、あるプラットフォームで行ったことが他のプラットフォームでは機能しないのではないかと心配しています。詳細に入るために、懸念事項を開きたいと思います。そのために、コードcompiling
とは何かを明確にしましょう。running
プラットフォーム (プラットフォームは OS + CPU アーキテクチャ) 用に C++ コードをコンパイルするとはどういう意味ですか? これは、C++ ソース コードが、具体的な CPU アーキテクチャで理解できる命令にマップされていることを意味します。そして、最終的な一連の命令は、具体的な OS が理解できる実行可能ファイルにパッケージ化されます。これは、実行可能ファイルの処理方法を理解している具体的な SO または OS がそれを実行できることを意味します。また、実行可能ファイルに含まれる一連の命令には、システム コールが含まれている可能性があることも忘れてはなりません。これもOSに固有です。
実行可能ファイルを実行するとはどういう意味ですか? これは、OS が特定の実行可能ファイルの形式を認識していることを意味します。run コマンドを実行すると、OS はそれを仮想メモリにロードし、その CPU 命令セットを段階的に実行し始めます。(非常に生ですが、一般的にはそのようなものだと思います。)
COSOS2D-Xに戻ります。C++ コードをコンパイルして、さまざまな OS やさまざまな CPU で認識およびロードできるようにする方法。適切な .apk、.ipa、または .exe ファイルを取得するために使用するメカニズム。システム コールまたはプロセッサ固有の呼び出しを使用しているときに陥る可能性のあるトラップはありますか? 一般に、このすべての問題はどのように解決されますか? プロセスを説明してください。たとえば、Android の場合、または iOS の場合も同様です。:)