読者です 読者をやめる 読者になる 読者になる

臥薪嘗胆

インフラエンジニアのあれこれ

Cやってみよう #1

仕事でほんとに困ったときは

  • C言語わからないのに、C言語のソースを追う必要があるし
  • 何やってるかわからないpatchを充てたりする
  • 最近流行りのmrubyもC言語で書かれているらしいのだ!

だからチョットでもわかるようにC言語の気持ちに近づいてみよう。
といっても何にから手を付けたらよいかわからないので、hellow worldしてみよう

まずここ流し読み。
おっと、helloそのままあるやん。。

見なかったことにして、環境を作ろう

vagrant

vagrant box add CentOS_71 https://github.com/holms/vagrant-centos7-box/releases/download/7.1.1503.001/CentOS-7.1.1503-x86_64-netboot.box
vagrant init CentOS_71
vagrant up CentOS_71
vagrant ssh CentOS_71

環境

[vagrant@CentOS-71 ~]$ uname -a
Linux CentOS-71.local 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

# gccもはいってた
[vagrant@CentOS-71 ~]$ rpm -qa | grep -w gcc-4.8.3-9.el7.x86_64
gcc-4.8.3-9.el7.x86_64

さっきのサンプルを

mkdir ctest
cd ctest/
cat << 'EOD' > hello.c
#include <stdio.h>

main()
{
    printf("hello, world¥n");
}
EOD
gcc hello.c && echo "OK" || "NG"

できた
実行権限付きだ

[vagrant@CentOS-71 ctest]$ ls -l
合計 16
-rwxrwxr-x 1 vagrant vagrant 8505 106 14:44 a.out
-rw-rw-r-- 1 vagrant vagrant   62 106 14:43 hello.c

実行してみた

[vagrant@CentOS-71 ctest]$ ./a.out
hello, world

ふむ。

明日は引数を取る何かを作ってみよう。