前の記事で「Ubuntu 18.04 LTS Server」をインストールした。続いて、gccやmakeコマンドの開発ツールを使えるようにしたので備忘録を残す。
尚、「Ubuntu 18.04 LTS Desktop」のターミナルでも手順は同じ。
![](https://www.yokoweb.net/wp-content/uploads/2018/05/ubuntu-logo-8648_640_s-160x90.png)
【Ubuntu 18.04 LTS Server】インストールする
Ubuntu 18.04 LTS が、2018年4月26日(日本時間27日)にリリースされた。 そこで、新規に「Ubuntu 18.04 LTS Server」をインストールしたので備忘録を残す。 インストール媒体の入手 下記URLから、イ...
![](https://www.yokoweb.net/wp-content/uploads/2018/05/ubuntu_400_s-160x90.png)
【Ubuntu 18.04 LTS Desktop】インストールする
Ubuntu 18.04 LTS が、4月26日(日本時間27日)にリリースされた。 そこで、新規に「Ubuntu 18.04 LTS Desktop」をインストールしたので備忘録を残す。 インストール媒体の入手 下記URLから、インストー...
2020/06/20追記
Ubuntu 20.04 LTS Server, Ubuntu 20.04 LTS Desktop でも同様の手順で使える事を確認。
![](https://www.yokoweb.net/wp-content/uploads/2020/05/notebook-2666361_640_s-320x180.png)
【Ubuntu 20.04 LTS Server】新規にインストールする
Ubuntu 20.04 LTS が、2020年4月24日にリリースされた。 先日の記事では Ubuntu 18.04 LTS Server からのアップグレードだったが、新規に「Ubuntu 20.04 LTS Server」をインストー...
![](https://www.yokoweb.net/wp-content/uploads/2020/05/ubuntu-desktop-00_s-320x180.png)
【Ubuntu 20.04 LTS Desktop】新規にインストールする
Ubuntu 20.04 LTS が、2020年4月24日にリリースされた。又、日本語Remix版は、2020年5月9日にリリースされた。 そこで、新規に「Ubuntu 20.04 LTS Desktop」をインストールしたので備忘録を残す...
インストール
下記コマンドを実行して、ビルドツールをインストール。
$ sudo apt install build-essential
確認
gccとmakeコマンドが実行できるか確認
$ gcc --version
gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ make --version
GNU Make 4.1
このプログラムは x86_64-pc-linux-gnu 用にビルドされました
Copyright (C) 1988-2014 Free Software Foundation, Inc.
ライセンス GPLv3+: GNU GPL バージョン 3 以降 <http://gnu.org/licenses/gpl.html>
これはフリーソフトウェアです: 自由に変更および配布できます.
法律の許す限り、 無保証 です.
簡単なプログラムをコンパイルし実行してみる
任意のフォルダで、エディターで下記の「sample.c
」ファイルを作成。
$ nano sample.c
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
int i;
for (i=0; i<5; i++) {
printf("%d: test\n", i);
}
exit(0);
}
コンパイルしてみる。
$ gcc -o sample sample.c
「sample
」実行ファイルが生成されので、実行してみる。
$ ./sample
0: test
1: test
2: test
3: test
4: test
nano
エディターは標準でインストールされている。- カレントディレクトリのファイルを実行するには、「
./
」を付ける必要がある。
makeを使ってコンパイルしてみる
エディターで下記の「Makefile
」ファイルを作成。
$ nano Makefile
sample : sample.c
gcc -o $@ $^
clean :
rm -f sample
- コマンド行の前の空白は
<TAB>
文字。
コンパイルする。
$ make
生成したファイルを削除する。
$ make clean
- makeは引数指定がなければ、カレントディレクトリに「
Makefile
」や「makefile
」があるとその定義に従って動く。 - この例ではソースファイルが一つなので make の有り難みを感じにくいが、複数のソースや複雑なプロジェクトでは「make」はとても便利で強力なツールである。
![](https://www.yokoweb.net/wp-content/uploads/2016/08/gnu_make.png)
「GNU Make 第3版 日本語版(オライリー)」の無料PDF
ソフトウェアのビルドに欠かせないmakeですが、便利な反面機能も豊富。 私が読んだ中でお薦めなのが、オライリー「GNU Make 第3版」の本。この本は持ってはいるのですが、分厚い本なので持ち運びも大変で電子版が出たら買いたいと思っていたら...
Gitからファイルを入手してみる
上記ファイルを「GitHub」に登録しているので、エディタでファイルを作成するのも面倒という方はお試しください(^^)。
任意フォルダで下記コマンドで取得。
$ git clone https://github.com/jr4qpv/gcc_sample
Cloning into 'gcc_sample'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 9 (delta 2), reused 9 (delta 2), pack-reused 0
Unpacking objects: 100% (9/9), done
取得したgcc_sample
フォルダに移動して、make
コマンド実行でコンパイル。
$ cd gcc_sample/
$ make
- gitコマンドは私のUbuntu環境には標準でインストールされていたが、入っていなければ「
sudo apt install git
」コマンドでインストール。 - gitは、プログラムのソースコードなどの履歴を記録・追跡するためのバージョン管理ソフトであるが、とても有用なツールなのでエンジニアのスキルの一つとして使えるようになっておくとよい。
補足
- Macパソコンでも同様の手順でコンパイル実行できる。macOSはPOSIXに準拠したUNIXベースのOSなので、Linuxともソース互換のあるプログラム開発ができるのも魅力。
![](https://www.yokoweb.net/wp-content/uploads/2020/04/macbookair_s-320x180.jpg)
【macOS】gcc, make などの開発ツールをインストールして使う
macOSで、gccやmakeコマンドの開発ツールを使ってC言語をコンパイル実行したので備忘録を残す。 開発ツールのインストール macOSでは「Homebrew」をインストールすることで、gccやmakeなどビルドツールも使えるようになる...
関連記事
![](https://www.yokoweb.net/wp-content/uploads/2020/06/tax-468440_640_s-320x180.png)
【Ubuntu Linux】Doxygenをインストールして使う
Doxygenはソースファイルのコメントから文書を抜き出してドキュメント化するツール。Ubuntu 20.04 LTS Desktop にインストールして試してみたので備忘録を残す。 インストール コンソールから下記コマンドを実行。 $ s...
![](https://www.yokoweb.net/wp-content/uploads/2018/05/pencil-1542024_640_s-160x90.png)
【Ubuntu 20.04/18.04 LTS Server】Emacsを使う
Ubuntu 18.04 LTS Server では、Emacsは標準のaptパッケージからインストールできるようになった。 2020/07/12追記 「Ubuntu 20.04 LTS Server」でも同様に利用できる事を確認した。 E...
![](https://www.yokoweb.net/wp-content/uploads/2020/06/graphic-4005286_640_s-320x180.png)
【Windows10 WSL2/Ubuntu 20.04 LTS】gcc, make などの開発ツールをインストールして使う
前の記事で、Windows10のWSL2に「Ubuntu 20.04 LTS」をインストールした。 続いて、gccやmakeコマンドの開発ツールを使えるようにしたので備忘録を残す。WSL2とはいえ基本的にはLinuxなので、以前、Ubunt...
![](https://www.yokoweb.net/wp-content/uploads/2020/03/card-1295648_640_s-320x180.png)
LinuxでI/Oポート操作してBeep音を鳴らす
LinuxでハードウェアI/O制御する例として、システムビープのI/Oポートを操作して、Ubuntu Linuxでビープ音を鳴らしたので備忘録を残す。 システム・タイマのハード仕様 関連するI/Oレジスタについては、姉妹サイトの下記記事参照...
![](https://www.yokoweb.net/wp-content/uploads/2020/02/c-coding-rules-00_s-320x180.png)
「組込みソフトウェア開発向けコーディング作法ガイド[C言語版]ESCR」の無料PDF
「組込みソフトウェア開発向けコーディング作法ガイド[C言語版]ESCR1」の改訂版Ver.3.0のPDF本が、IPA(情報処理推進機構)のサイトから入手できる。203ページもある内容で、C言語を記述する上でとても参考になるので紹介する。 入...
![](https://www.yokoweb.net/wp-content/uploads/2019/11/intel-nuc-00_s-320x180.png)
Intel NUC(小型PCベアボーンキット)で、Ubuntu Desktop を動かす
手のひらサイズの小型PCベアボーンキット「Intel NUC6CAYH」に、Ubuntu 18.04 Desktop をインストールして動かしたので備忘録を残す。 準備 小型PCベアボーンキットと、メモリおよびSSDの部品を準備。 1) 小...
コメント