回答編集履歴

1

追記

2017/08/26 14:20

投稿

Chironian
Chironian

スコア23272

test CHANGED
@@ -17,3 +17,29 @@
17
17
  [こんな動画](https://www.youtube.com/watch?v=qv5b1Xowxdk&index=)があります。マイクロソフト社のビル・ゲイツさんが開発したと言われる4KBasicを紙テープから読み込んで起動する動画です。
18
18
 
19
19
  ビル・ゲイツさんももしかするとこのようにしてパチパチやりながら4KBasicを開発したのかも知れません。ちなみに、4Kは4KBytesの4Kです。
20
+
21
+
22
+
23
+ > make - デバイスドライバのコンパイルやカーネルのコンパイルに使われる。
24
+
25
+ gcc - ユーザーアプリケーションのコンパイルに使われる。
26
+
27
+ 2つの違いがよく分かりません。
28
+
29
+
30
+
31
+ makeはコンパイラではないですよ。コンパイルやリンク処理を自動化するツールです。
32
+
33
+ 毎回全てのソースをコンパイルしていたら、巨大プロジェクトは地獄を見ます。ビルドするのに一晩かかるようなものもありますから。ちょっとソース修正するたびに一晩とか有り得ないです。
34
+
35
+ ソースとオブジェクトの依存関係を管理し、修正したソースに依存しているオブジェクトのみをコンパイル/リンクすると効率良く開発できます。その処理を自動化するのがmakeです。
36
+
37
+
38
+
39
+ > なんでgccではデバイスドライバのコンパイルができないのでしょうか?
40
+
41
+
42
+
43
+ linuxはgccでコンパイルされてますよ。デバイスドライバも普通にコンパイルできます。
44
+
45
+