初めに

このエントリーをはてなブックマークに追加

このサイトではLinux上でC言語を用いた開発を1から解説していきますが、その準備段階として本サイトで使用するOSとコンパイラの指定をしておきます。これは主に筆者の開発環境ですので別の環境の方は置き換えてください。まず問題は無いはずです。
また、Linux + C言語としていますが基本POSIXを中心に解説していきますので、だいたいはUnix全般で動くはずです。


注意事項

まず、初めに注意事項を書いておかなくてはいけません。申し訳ないですが、現在は余裕が無いためLinuxのインストール、Linuxの使い方、C言語の文法等の基本的な内容はサポート対象外とします。

期待する読者の技術レベル

Linux、C言語がとりあえず使えることが本サイトの最低条件です。あくまでもこれらが最低限使えないと話になりません。

つまり、C言語ならばこの「K & R」を理解出来るレベルくらいは必要です。


Linuxならば例えばこのような本を見ながらでよいので通常の操作が出来、プログラミングが出来る事を期待します。ターミナルやテキストエディタすら使えないのでは問題外です。


いずれ余裕ができればこの辺も書いていきたいのですが...。ひとまずその手のサイトや書籍を探せばいくらでもあるのでそちらに譲らせていただきます。


記事について

記事の内容についてですが、できる限り注意をしていますが、必ずしも正確性を保証できません。
間違いなどがあれば連絡を頂ければ非常に助かります。できる限り素早く修正等の対応をさせていただきます。


次に、ライセンスについてですが、本サイトのすべての内容の著作権は筆者(khondalit)に帰属します。
ソースコード自体はご自由に利用して頂いて構いません。ライセンスは修正BSDライセンスとします。
ソースコード以外については常識の範囲内での利用をお願いします。


前提条件

ハードウェア

近年は64bitOSが主流になりつつあります。例えばMacは64bitですし、Windowsですら64bitOSが普通にある時代です。しかしまだまだ32bitOSも使われていて現在はまだ両方が出回っている状態です。また、ハードウェアやOSが64bitになってもそれに対応していないアプリケーションは多々あります。
また、64bitとはいっても基本的には32bitが基本にありますので、本サイトでは32bitを前提に解説をしていきます。必要な場合は64bitの注意書きは適時入れていきます。


Linux

LinuxはKernel2.6以上を推奨します。そろそろ3.0系も一般的に使われだす時期ですし2.4系はさすがに対象外で良いでしょう。最新のディストリビューションをインストールすれば問題は無いはずです。

筆者はDebian系を使用しています。これはパッケージが豊富でありまたオリジナルのDebianはサポート期間が長い、Ubuntu系はリリースが早いですが扱うのが非常に楽になっているからです。

WindowsがメインOSの方はVMware等の仮想環境を使用するのがおすすめです。逆にcygwinはおすすめしません。cygwinはWindows上に無理やりLinux系OSのシステム関数(Windows風に言えばAPI)を実装しているため所々動作が通常のLinuxとは異なる為です。もちろん可能であればLinuxを直接PCにインストールするのが一番良いでしょう。

また、ShellはLinuxのデフォルトになっているBashを前提とします。多少古めのUnix系OSだとCsh系の場合もありますが今時は普通Bashですし、Csh系には多少問題もあったりするのでご了承ください。


C言語コンパイラ

コンパイラはLinux標準のGCCを使用します。バージョン等については指定はしませんが、ある程度新しめのバージョンが良いでしょう。通常は使用しているディストリビューションのコンパラを使えば良いでしょう。
また、時には標準Cを越えてgcc拡張機能も使うかもしれませんが、汎用的なC言語解説サイトではないので問題無いでしょう。
C++の方が良いという方もいるかもしれませんが、C言語からC++へは特に問題なく変換できるはずなので特に触れません。ちなみにLinuxは始めてでC++を使う方はコンパイラはG++です。gccコマンドをg++コマンドへと置き換えてください。