Unixコンソール/ MacターミナルでC / C ++をコンパイルおよび実行する方法

StackOverflow https://stackoverflow.com/questions/221185

質問

UnixコンソールまたはMacターミナルでCまたはC ++をコンパイル/実行するにはどうすればよいですか

(私はそれを知っていて、それを忘れて、もう一度それを学び直します。それを書き留める時間です。)

役に立ちましたか?

解決

単純な単一ソースプログラムの場合:

make foo

ソースファイルがfoo.cまたはfoo.cppなどである場合

メイクファイルも必要ありません。 makeには、ソースファイルを同じ名前から拡張子を除いた実行可能ファイルにビルドするのに十分な組み込みルールがあります。

ビルドしたばかりの実行可能ファイルを実行することは、プログラムを実行することと同じですが、シェルは実行可能ファイルを見つけるために $ PATH にあるもののみを検索するため、ほとんどの場合、実行可能ファイルへのパスを指定する必要があります、ほとんどの場合、現在のディレクトリ()は含まれません。

したがって、ビルドされた実行可能ファイル foo を実行するには:

./foo

他のヒント

gcc main.cpp -o main.out  
./main.out

これはすべてのUnixマシンで動作するコマンドです... Linux / Ubuntuで使用しますが、OS  Xでも動作します。 Terminal.app に次のコマンドを入力します。

$ g++ -o lab21 iterative.cpp

-o は文字Oがゼロではない

lab21 が実行可能ファイルになります

iterative.cpp はC ++ファイルです

このコマンドを実行した後、ターミナルで次を入力してプログラムを実行します。

$ ./lab21

2つのステップ:

最初:

make foo

then:

./foo

Unix(Linux、Mac  X、AIXなど)環境でのすべてのアプリケーションの実行は、実行可能な検索パスに依存します。

このコマンドでターミナルにこのパスを表示できます:

  

echo $ PATH

Mac OS X(デフォルト)では、次のコロンで区切られた検索パスが表示されます:

  

/ usr / bin:/ bin:/ usr / sbin:/ sbin:/ usr / local / bin:/ usr / X11 / bin

したがって、リストされたディレクトリ内の実行可能ファイルは、名前を入力するだけで実行できます。例:

  

cat mytextfile.txt

これは / bin / cat を実行し、mytextfile.txtを端末に表示します。

実行可能ファイルの検索パスにない他のコマンドを実行するには、実行可能ファイルへのパスを修飾する必要があります。 Mac  OS  XのホームディレクトリにMyProgramという実行可能ファイルがあったとしましょう。次のように完全修飾できます。

  

/ Users / oliver / MyProgram

実行したいプログラムに近い場所にいる場合、名前を部分パスで修飾できます。たとえば、 MyProgram がディレクトリ / Users / oliver / MyProject にあった場合、私は自分のホームディレクトリにいたので、このような実行可能ファイル名を修飾して実行させることができます。 :

  

MyProject / MyProgram

または、ディレクトリ / Users / oliver / MyProject2 にいて、 / Users / oliver / MyProject / MyProgram を実行したい場合、次のような相対パスを使用できますこれを実行するには:

  

../ MyProject / MyProgram

同様に、 MyProgram と同じディレクトリにいる場合は、「現在のディレクトリ」を使用する必要があります。相対パス。現在のディレクトリは、ピリオド文字とそれに続くスラッシュです。例:

  

./ MyProgram

現在使用しているディレクトリを確認するには、 pwd コマンドを使用します。

一般的に、プログラムをハードディスク上の所定の場所に置き、その名前を限定せずに実行したい場合。たとえば、" bin"がある場合、他のプログラムの定期的に使用されるシェルスクリプトのホームディレクトリ内のディレクトリ。実行可能検索パスを変更するのが賢明かもしれません。

これは、ホームディレクトリにある既存の .bash_profile ファイルを作成または編集し、次の行を追加することで簡単に実行できます。

#!/bin/sh
export PATH=$PATH:~/bin

ここでは、チルダ(〜)文字が/ Users / oliverのショートカットとして使用されています。また、ハッシュバン(#!)行はファイルの最初の行である必要があることに注意してください(まだ存在しない場合)。また、この手法ではログインシェルがbash(Mac  OS  XおよびほとんどのLinuxディストリビューションのデフォルト)である必要があることに注意してください。また、〜/ bin にインストールされたプログラムをシステム実行可能ファイルより優先して使用する場合は、次のようにエクスポートステートメントの順序を変更する必要があります。

export PATH=~/bin:$PATH

ライアン、私はこれがコメントではなく答えになるように変更しています。このすべてを"ターミナル"で行います。

G ++コンパイラを使用するには、これを行う必要があります:

  1. *。cppファイルを保存したディレクトリに移動します。

    cd〜/ programs / myprograms /
    (〜はあなたの家のショートカット、つまり/ Users / Ryan / programs / myprograms /で、実際に使用した場所に置き換えます。)

  2. コンパイル

    g ++ input.cpp -o output.bin (output.binには任意の拡張子を付けることができます。実際、binはUnixでは一般的です。)

    成功した場合は何も返されないはずです。それは大丈夫です。一般的に、失敗時にリターンを受け取ります。

    ただし、 ls と入力すると、同じディレクトリにあるファイルのリストが表示されます。たとえば、他のフォルダinput.cppおよびoutput.binが表示されます

  3. ディレクトリ内から、 ./ outbut.bin

  4. で実行します

現在のディレクトリがパスにない場合、構文は ./ [プログラムの名前] です。

たとえば、 ./ a.out

最良の警告を得るには以下を追加してください。後悔することはありません。可能であれば、WISEをコンパイルします(警告はエラーです)

- Wall -pedantic -Weffc++ -Werror

これを行うためのコンパクトな方法は次のとおりです。

make foo && ./

これを行うためのコンパクトな方法は次のとおりです。

<*>

ワンライナーが必要なので、実行ファイルを簡単に再実行できます。

ワンライナーが必要なので、実行ファイルを簡単に再実行できます。

CまたはC ++プログラムをコンパイルするには、一般的なコマンドがあります:

  1. make filename

  2. ./ filename

makeは、ソースファイルを同じ名前の実行可能ファイルにビルドします。ただし、標準的な方法を使用する場合は、gccコンパイラを使用してCプログラムを作成できます&amp; g ++ for c ++

Cの場合:

gcc filename.c

./a.out

C ++の場合:

g++ filename.cpp

./a.out

makefile を使用します。非常に小さい(= 1ファイル)プロジェクトでも、物事をテストするためにいくつかのコンパイラ設定を設定できるため、おそらく努力する価値があります。デバッグと展開は、この方法ではるかに簡単に機能します。

make マニュアルを読む、一見するとかなり長いように見えますが、ほとんどのセクションはざっと目を通すだけです。全体として数時間かかり、生産性が大幅に向上しました。

このリンクと道順が見つかりました:

http://www.wesg.ca/2007/11/how-to-write-and-compile-c-programs-on-mac-os-x/

基本的にあなたがすること:

gcc hello.c
./a.out (or with the output file of the first command)

c / cppファイルがあるディレクトリに入力するだけです。

cコードのコンパイルと実行用。

$gcc filename.c
$./a.out filename.c

c ++コードのコンパイルおよび実行用。

$g++ filename.cpp
$./a.out filename.cpp

&quot; $&quot;デフォルトのMac端末記号です

Mac端末からcppソースコードをコンパイルして実行するには、次の手順を実行する必要があります。

  1. cppファイルのパスがsomePath / fileName.cppの場合、最初にパスsomePathのディレクトリに移動します
  2. fileName.cppをコンパイルするには、c ++ fileName.cpp -o fileNameと入力します
  3. プログラムを実行するには、。/ fileNameと入力します

ターミナルを使用した.Cファイルの実行は2段階のプロセスです。 最初の手順は、ターミナルでgccと入力し、.Cファイルをターミナルにドロップしてから、 Enter

を押すことです。
username$ gcc /Desktop/test.c 

2番目のステップで、次のコマンドを実行します。

username$ ~/a.out
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top