授業/C言語基礎/コンパイルと実行
をテンプレートにして作成
開始行:
*コンパイル [#u42b53f3]
コンピューターは内部で2進数を使ってすべてのものを表してい...
したがって、コンピューターが実行するプログラムも2進数を使...
コンピューターが直接理解できる2進数で表されたプログラムを...
ところが、プログラムが2進数で表されていると、人間には理解...
そこで、人間がわかる言語でプログラムを書き、それを翻訳し...
この、人間がわかる言語で書かれたプログラムを機械語のプロ...
*コンパイラーとインタープリター [#bdba2093]
コンパイラーでコンパイルするタイプのプログラミング言語で...
一方で、命令を一つずつ取り出して、解釈と実行を繰り返し行...
この、命令の解釈と実行を繰り返し行うプログラムを''インタ...
コンパイラーとインタプリターを両方使うプログラミング言語...
*gcc [#v07e3c3f]
''gcc''は、C言語のコンパイラーのひとつです。
C言語のプログラムをエディターで作成したら、gccを使って機...
gccコマンドには、コンパイルするファイルの名前を引数として...
#geshi(sh){{
luna% gcc hello.c
}}
コンパイルが成功すると、''a.out'' という名前の機械語のフ...
*実行 [#of901997]
コンパイルしてできたプログラムを実行するには、実行可能な...
#geshi(sh){{
luna% a.out
}}
*chmod(おまけ) [#s73ab020]
Linuxでは、ファイルに実行権限が付与されていなければでプロ...
ファイルに実行権限が付与されているかどうかは、lsコマンド...
#geshi(sh){{
luna% ls -l
total 2
-rwxr-xr-x a.out
-rw-r--r-- hello.c
}}
ファイル名の左側に表示されている記号は、最初の一文字がフ...
rは読み込み (Read)、wは書き込み (Write)、xは実行可能 (eXe...
上の例では、a.outには自分にrwx(すべて)の権限、グループ...
gccでコンパイルして作成される a.out には実行権限が自動的...
chmodコマンドには、権限を与える(奪う)相手と与える(奪う...
#geshi(sh){{
luna% chmod o-r hello.c
}}
権限は、自分を u、グループを g、その他を o と表し、その後...
上の例では、その他のユーザーに対して hello.c の読み込み権...
権限を与える相手とその権限を記号で表す代わりに、3桁の数で...
権限を与えるときは1、与えないときは0として自分、グループ...
たとえば、権限を rw-r----- とするとき、これを2進数で 110 ...
#geshi(sh){{
luna% chmod 640 hello.c
}}
644, 640, 600, 755, 750, 700などがよく使われます。
*まとめ [#z62be240]
Cプログラムを(機械語の)実行可能なファイルに変換すること...
この授業では、''gcc''というコンパイラーを用いてコンパイル...
gccでコンパイルすると、''a.out''という名前の実行可能なフ...
このa.outを''実行し''ます。
*練習問題 [#vb8242af]
**1B-1 コンパイルと実行(難易度♠) [#x1674be6]
次のプログラムをコンパイルして実行せよ。
#geshi(c){{
#include <stdio.h>
int main(void) {
printf("n\nnn\nnnn\n");
return 0;
}
}}
**1B-2 コンパイルエラーの修正(難易度♠♠) [#e239fb96]
次のプログラムをコンパイルしてエラー・メッセージを確認し...
#geshi(c){{
#include stdio.h
int main(void) {
printf("Chubu University\n")
return 0
}
}}
終了行:
*コンパイル [#u42b53f3]
コンピューターは内部で2進数を使ってすべてのものを表してい...
したがって、コンピューターが実行するプログラムも2進数を使...
コンピューターが直接理解できる2進数で表されたプログラムを...
ところが、プログラムが2進数で表されていると、人間には理解...
そこで、人間がわかる言語でプログラムを書き、それを翻訳し...
この、人間がわかる言語で書かれたプログラムを機械語のプロ...
*コンパイラーとインタープリター [#bdba2093]
コンパイラーでコンパイルするタイプのプログラミング言語で...
一方で、命令を一つずつ取り出して、解釈と実行を繰り返し行...
この、命令の解釈と実行を繰り返し行うプログラムを''インタ...
コンパイラーとインタプリターを両方使うプログラミング言語...
*gcc [#v07e3c3f]
''gcc''は、C言語のコンパイラーのひとつです。
C言語のプログラムをエディターで作成したら、gccを使って機...
gccコマンドには、コンパイルするファイルの名前を引数として...
#geshi(sh){{
luna% gcc hello.c
}}
コンパイルが成功すると、''a.out'' という名前の機械語のフ...
*実行 [#of901997]
コンパイルしてできたプログラムを実行するには、実行可能な...
#geshi(sh){{
luna% a.out
}}
*chmod(おまけ) [#s73ab020]
Linuxでは、ファイルに実行権限が付与されていなければでプロ...
ファイルに実行権限が付与されているかどうかは、lsコマンド...
#geshi(sh){{
luna% ls -l
total 2
-rwxr-xr-x a.out
-rw-r--r-- hello.c
}}
ファイル名の左側に表示されている記号は、最初の一文字がフ...
rは読み込み (Read)、wは書き込み (Write)、xは実行可能 (eXe...
上の例では、a.outには自分にrwx(すべて)の権限、グループ...
gccでコンパイルして作成される a.out には実行権限が自動的...
chmodコマンドには、権限を与える(奪う)相手と与える(奪う...
#geshi(sh){{
luna% chmod o-r hello.c
}}
権限は、自分を u、グループを g、その他を o と表し、その後...
上の例では、その他のユーザーに対して hello.c の読み込み権...
権限を与える相手とその権限を記号で表す代わりに、3桁の数で...
権限を与えるときは1、与えないときは0として自分、グループ...
たとえば、権限を rw-r----- とするとき、これを2進数で 110 ...
#geshi(sh){{
luna% chmod 640 hello.c
}}
644, 640, 600, 755, 750, 700などがよく使われます。
*まとめ [#z62be240]
Cプログラムを(機械語の)実行可能なファイルに変換すること...
この授業では、''gcc''というコンパイラーを用いてコンパイル...
gccでコンパイルすると、''a.out''という名前の実行可能なフ...
このa.outを''実行し''ます。
*練習問題 [#vb8242af]
**1B-1 コンパイルと実行(難易度♠) [#x1674be6]
次のプログラムをコンパイルして実行せよ。
#geshi(c){{
#include <stdio.h>
int main(void) {
printf("n\nnn\nnnn\n");
return 0;
}
}}
**1B-2 コンパイルエラーの修正(難易度♠♠) [#e239fb96]
次のプログラムをコンパイルしてエラー・メッセージを確認し...
#geshi(c){{
#include stdio.h
int main(void) {
printf("Chubu University\n")
return 0
}
}}
ページ名: