2

を使用してOSXターミナルでコンパイルを実行できますg++ -Wall -c pa1.cpp -o pa1。これによりpa1、が作成されるので、コンパイルがターミナルで機能することはわかっていますが、実行に問題があります。./pa1私は、、および他./a.outのいくつかを試しpa1ました。問題はXcodeにあると思いますが、私のコードがターミナルでコンパイルされて実行可能ファイルが作成されるという事実は、私を確信させません。Xcodeを再インストールする前に、ここで提案を求めます。

4

1 に答える 1

1

を使用するg++ pa1.cpp -o pa1と、新しい実行可能ファイルを として実行できるようになります./pa1。これには、プログラム全体が にある必要がありますpa1.cpp。複数のファイルに分散している場合は、コマンドラインでそれらすべてをリストする必要があります。

コメントで述べたように、-cオプションはコンパイルを意味します。実行可能ファイルをビルドするためにリンカーに渡すことができるオブジェクト ファイルを作成します。このオプションを使用しない場合、g++は最初に任意のソース ファイルをコンパイルし、次にすべてのオブジェクト ファイルに対してリンカーを呼び出して、a.out既定で指定された名前の実行可能ファイルを作成します (名前は歴史的な理由から来ています)。

fileユーティリティを使用すると、コマンドの出力が実行可能なバイナリではなく、中間オブジェクト ファイルであることがわかります。

于 2012-12-07T22:11:55.640 に答える