Cを使う


アニメ『[C] THE MONEY OF SOUL AND POSSIBILITY CONTROL』(2011)
お金はお金に集まってくるので、お金があればお金が増える。パワーゲームにつぶされてしまうこともある。本物のお金のやりとりの方がスリリングだと思うのだけど、それをバトルで表現することがよくわからないなあという感想です。Cは自分をControlするという意味なのでしょうか。
さて、Cで思い出したのはもちろんC言語です。ずっとC言語を学習メニューに取り入れるのを、すっかり忘れていました。ということでC言語をやっていきます。

LinuxはC言語で書かれているので、C言語を覚えておけば、カーネルを読むことができるってのがありますが、プログラミング初心者だと、C言語は敷居の高い言語です。
他の言語を先に学んでから身に着けても全然大丈夫だと思います。

さて、LinuxでC言語を使うには、エディタとビルド環境があればいいわけですが、
やはり、apt-getで環境一式を揃えることができます。
エディタは、適当にVimやEmacs等々自分にあったものを選べば良いと思います。

root@deb9:~# apt-get install vim
root@deb9:~# apt-get install emacs
root@deb9:~# apt-get install leafpad
root@deb9:~# apt-get install nano

ビルド環境は、gccで良いです。本格的にそろえるならばmakeも必要でしょう。

root@deb9:~# apt-get install gcc

では、C言語、使っていきます。まずはHello Worldから。

takk@deb9:~$ cat hello.c
#include <stdio.h>

int main()
{
        puts("Hello World!");
}
takk@deb9:~$ 

最初に#includeでstdio.hを指定していまが、putsを使う場合は必要になります。

どのヘッダを使えば良いか忘れてしまった時は、man putsで調べれば良いです。

PUTS(3)                    Linux Programmer's Manual                   PUTS(3)

名前
       fputc, fputs, putc, putchar, puts - 文字と文字列の出力

書式
       #include <stdio.h>

       int fputc(int c, FILE *stream);

       int fputs(const char *s, FILE *stream);

       int putc(int c, FILE *stream);

       int putchar(int c);

       int puts(const char *s);

putsは、Rubyと同じですね。いろんな言語がC言語の影響を受けています。初めてputsという関数名を見た時は、少々わかりにくいなあと思ったのですが、みんなが使えばそれが標準、覚えておくべき名前でしょうね。

さてビルドは、gccを使います。gccはコンパイルするだけではなくビルドまでやってくれます。

takk@deb9:~$ gcc hello.c

コンパイルして何ができるかというと、a.outファイルができます。
本来は-oで実行ファイルを指定しますが、省略すると、a.outで実行ファイルが生成されます。実行するには、./a.outと入力します。

takk@deb9:~$ ./a.out
Hello World!
takk@deb9:~$

実行できました。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA