電子書籍の厳選無料作品が豊富!

プログラミングで実行やコンパイルをするとき、コマンドを入力しますよね
そこでちょっとした疑問が
例えば、c言語ですと、
gcc ファイル名 ですよね

よくよく考えるとこれはどういうことなんでしょうか?
これはつまりファイルをgcc.exeに起動する?ってことなんですかね?

binフォルダを覗くとgcc.exeがありましたので・・・

A 回答 (4件)

・gccコマンドを実行する


・引数は「ファイル名」とする

です。

コマンドにはいくつか種類があって、全てが「実行ファイルexeを実行する」わけではありません。
※ 例えば、内部コマンドと言って、コマンド受け付けプログラム(コマンドプロンプトやコマンドシェル)自体に内蔵されているコマンドを実行する場合は、〜.exeが新しく実行されれうわけではありません。

今回の場合は、gcc.exe を実行しています。(たぶん)


C言語をやってると「コマンドライン引数を使って○○なプログラムを作れ」みたいな課題が出てきます。
int main(int argc,char **argv) みたいにして、argvで受け取ります。
「ファイル名」の部分は argv に渡されます。


gcc ファイル名
だと
argv[0]= "gcc" ;
argv[1]= "ファイル名" ;
という状態で、 gcc.exe を実行します。


なお、引数として渡されるのはあくまで文字列です。
「ファイル名」を指定したからといって、「ファイル」が渡されるわけではありません。
渡された文字列を「ファイル名」だと認識して、実際に「ファイル」を読みにいく部分は、実行したコマンドの役割りです。
    • good
    • 0

つまりはgcc.exeを起動するということです。


そして、貴方の使用しているCコンパイラがgccということです。
    • good
    • 0

例です、



A=此は
B=プログラムの
C=記載内容の
D=例えです
E=改行
F=。

此の様に GCC内に
定義付けられていると します。


次に、

BDFAECと 記述し、
GCCに 解釈させます。


すると、

プログラミングの例えです。此は
記載内容の
と コンパイルされ、

シンタックスエラーと なります。


次に、

ACEDBFと 記述し、
GCCに 解釈させます。


すると、

此は記述内容の
例えですプログラムの。
と コンパイルされ、

変則的ながらも 通じ、
働きます。


乱暴な程に、

簡単化して 示せば、
こういう事です。


実際には、

様々な 効率化等が、
試されて、

最適化が 行われたり、
しますから、

もっと 格段に、
複雑ながら。


イメージとしては、

こうした 感じの、
ものですよ。
    • good
    • 0

>>例えば、c言語ですと、


gcc ファイル名 ですよね

別にgccと決まっているわけではありません。質問者さんが使っているCコンパイラがgccだっただけです。

>>よくよく考えるとこれはどういうことなんでしょうか?
これはつまりファイルをgcc.exeに起動する?ってことなんですかね?

日本語がちょっと変です。
つまりgcc.exeを起動するってことです。

実際のコンパイルの実行はもう少し複雑になっているはずですので、使っているコンパイラーの説明ドキュメントを読まれることをお勧めします。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!