linuxで何かインストールしようとすると、その一連で「gcc」という単語がよく出てくるイメージがありました。
gccとはなんぞや?というところをまとめます。
#GCCとは
GNU Compiler Collectionの略。
GCCとは、GNUプロジェクトが開発および配布している、さまざまなプログラミング言語のコンパイラ集のことである。
このGCCの実行ファイル(コマンド)がgcc
である。
#gccとは
GNUプロジェクトが開発・公開しているコンパイラ。様々なプログラミング言語のコンパイラを集めたパッケージとなっている。
http://e-words.jp/w/gcc.html
複数言語に対応するコンパイラです。
(昔は「GNU C Compiler」の略だったそうです)
※ご指摘いただき修正しました 2019/1/17
##さっそく使ってみる
公式サイト:http://gcc.gnu.org/
動作確認環境:Docker上のCentOS7 (Windows10上にDockerをインストールしています)
###インストール
$ yum install gcc
※WindowsはMinGW
、MacはXcode
を入れることでgccを使えるようになるようです。
###C言語で書いたソースコードをコンパイルして実行
一番簡単にできそうだったので、C言語で書いたコードをコンパイルして実行してみます。
#include <stdio.h>
main(){
printf("hello world.\n");
}
上記のようにhello.c
というファイルを作成します。
コンパイルしてみます。
$ gcc hello.c
$ ls
a.out hello.c
成功すると、a.out
というファイルができました。
実行してみます。
$ ./a.out
hello world.
実行できました!
###コマンド解説
$ gcc <ソースコードファイルパス>
上記コマンドで、ソースコードをコンパイルし、実行形式ファイルを出力できます。
実行形式ファイルの名前はa.out
となります。
この名前はデフォルトです。-o
オプションを使うことで、実行形式ファイルの名前を指定できます。
$ gcc -o hello hello.c
#helloという実行形式ファイルが作成される
実行形式ファイルにしたあとは、以下のコマンドで実行できます。
$ ./<実行形式ファイルパス>
./
が必要です。
##でも、gcc
コマンドは使ったことがない気がする
ワードは何度も聞いたことがありますが、今まで実際にLinux上打ったことはあまりない気がします。
(コピペしてた中に入ってたのかもですが・・・)
実際に打っていたのはmake
とかだったような気が・・・
ということでDockerのCentOSにはいっていなかったvimをインストールしてみます。
https://qiita.com/silverskyvicto/items/386839cc3e2fcfa191fe
の記事を参考にさせていただきます。
# vimが入っていないことを確認
$ vim --version
bash: vim: command not found
# 必要なライブラリをインストールしておく
$ yum install -y ncurses-devel make gcc git
# vimのソースをダウンロード
$ cd /usr/local/src/
$ git clone https://github.com/vim/vim.git
# コンパイル
$ cd vim/src
$ make
$ make install
# インストール完了
$ vim --version
VIM - Vi IMproved 8.1 (2018 May 18, compiled Nov 10 2018 06:24:47)
make
コマンドを使うことでより簡単にインストールができるようです。
上のサンプルの例でも、「必要なライブラリ」の中にgcc
が入っています。
Makefile
を準備し、その中にコンパイルのためのコマンドを書きます。このファイルを準備することで、make
というコマンドを打つだけでコンパイルができるようです。
gcc
は直接はつかわなくても、内部的に使われているんですね。