コンパイル方法
🐼コンパイルの流れ
hello.c
という名前で以下のテストプログラムを作成します。
今回の例ではこれをデスクトップに保存しておきます。
#include<stdio.h> int main() { printf("Hello, World\n"); return 0; }
ターミナル を開き、
$ cd Desktop/
でデスクトップに移動、
gcc
コマンドで先ほどのhello.c
をコンパイルします。
$ gcc hello.c
コンパイルが成功するとa.out
という実行ファイルができます。
ls
コマンドで確認してみるとあります。
$ ls a.out hello.c
このa.out
を実行します。
$ ./a.out Hello World
といったかんじです。
🐼ファイル名の指定
ここで浮かんだ疑問として、「これ同じ階層にべつの.c
ファイルがあったらどうなるの?です」
別の.c
ファイルを作ってコンパイルしてみると、上書きされました。
#include<stdio.h> int main(){ printf("Test C\n"); return 0; }
$ gcc test.c $ ./a.out Test C
上書きされちゃやだ///なのでファイル名を指定してコンパイルします!
作成される実行ファイルの名前を指定したい場合にはgcc
の-o
オプションを使用するみたいです。
$ gcc -o hello.txt hello.c
これでls
で確認してみるとさきほどのa.outとは別にhello.txt
ができています。
$ ls a.out hello.c hello.txt test.c
<補足>ーーーーーーーー
ちなみに.txt
のところはOSが「どのアプリで開くべきか」を知るためだけにあるので、.txt
でも.log
でもテキストエディタにもっていければなんでもいいみたいです。
ダブルクリックしたときになにを起動するか、の識別子だと思っておけばいいです。
コマンドラインからやる場合は拡張子がなくてもおっけーです。
拡張子無しだとls
だとでてこないですがls -a
で確認することができます。
ーーーーーーーーーーーー
hello.txt
を実行すると、ちゃんとhello.c
の内容が実行されます。
$ ./hello.txt Hello, World