私はClangとCh(C++インタプリタ)で読んでいましたが、私には明らかではありませんが、インストールせずに新しく生成された.cppファイルを実行することは可能ですか?私はどのPCでも最終的なプログラムを実行する必要があるので...C++ファイルを特別なプログラムやインストールなしでコンパイルできますか?
ps。はいの場合、誰かが良い例を持っていますか?どこで.cppファイルがC++コード内で実行されていますか?
私はClangとCh(C++インタプリタ)で読んでいましたが、私には明らかではありませんが、インストールせずに新しく生成された.cppファイルを実行することは可能ですか?私はどのPCでも最終的なプログラムを実行する必要があるので...C++ファイルを特別なプログラムやインストールなしでコンパイルできますか?
ps。はいの場合、誰かが良い例を持っていますか?どこで.cppファイルがC++コード内で実行されていますか?
これはおそらく不可能であるか、少なくとも非常に困難です。プログラム内にコンパイラ全体(リンカ、アセンブラ、オプティマイザ、プリプロセッサなど)を含める必要があり、それでが極端にになります。
これを行う1つの方法は、クラン(すでに述べたように)である、ソースに「クラン・インタープリタ」と呼ばれるデモプロジェクトでもあります:http://llvm.org/viewvc/llvm-project/cfe/trunk/examples/clang-interpreter/
私は一度にこの「獣」をコンパイルしようとしたが結果バイナリ(または外部ライブラリを持つバイナリ)のファイルサイズが数十メガバイト(おそらく百も)になるので、私のプログラムは途中で中断しました。
私は、簡単に解釈できる別のスクリプト(たとえば、UNIXマシンで実行できるbash/shスクリプト)を作成することをお勧めします。
種類は「インストール」の意味に依存します。
はい、完全なコンパイラでプログラムを配布し、ソースコードをコンパイルしてから最終結果(元のexeからすべて)を実行することができます。
CPPファイルのコンパイル処理がthis-
前処理のようなものですので、私の知る限りでは、それは、不可能である:プリプロセッサは#include
SとC++ソースコードファイルやお得な情報をとり、#define
sおよびその他のプリプロセッサディレクティブを使用します。このステップの出力は、プリプロセッサ指令がない「純粋な」C++ファイルです。
コンパイル:コンパイラはプリプロセッサの出力を受け取り、そこからオブジェクトファイルを生成します。
リンカー:リンカーは、コンパイラーによって生成されたオブジェクトファイルを受け取り、ライブラリーまたは実行可能ファイルのいずれかを生成します。
したがって、中間ファイルと実行可能ファイルが必要です。
詳細はhere-
感謝を見つけることができ、あなたは、イムは「バッチファイルソリューション」と一緒に行く、感謝を決心しました。 – krishkule