こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

windowsでもC言語を始めたいのですが…

某大学の数学科1回生です。

今までC言語を学んだことが無かったので、最近ASCIIの「C言語入門」
を購入しました。(4月から学校で講義が始まります。)
この入門書を読み進めていくにはUNIX系のOSがあるとスムーズに進行出来るようです。
しかし、僕が使用しているパソコンはwindows7で、
非UNIX系のOSなのでC言語でプログラミングをする環境が整っていません。

そこで、次のサイトhttp://www.ooyashima.net/db/prog.htmでコンパイラと
IDEとテキストエディタを手に入れる必要があります。

windowsのOSでも、UNIX系のOSを用いた時と同様にC言語プログラミングを
可能にするためには、先ほどのサイトで、コンパイラからテキストエディタまで
何を手に入れるのがベストでしょうか?

出来れば無料のソフトが良いです。

C言語やプログラミングに関しては全くの初心者なので、稚拙な文章となり
非常に読み辛かったかと思いますが、回答よろしくお願いいたします。

投稿日時 - 2013-02-07 16:39:13

QNo.7933053

すぐに回答ほしいです

質問者が選んだベストアンサー

かなり前にC言語への入門を少々齧った者です。
うーん、初心者様だけに少々混乱しておられるようですね。
若干整理しつつ回答させていただきます。

まず、あなたに必要なのは、
1.「テキストエディタ」(ソースプログラムの作成・編集・閲覧に必要)と、
2.「コンパイラ」(1で作成したプログラムを実行可能な形式へ変換するのに必要)と、
3.「リンカ」(実は2で変換したプログラムは単体じゃ実行できないので、出来合いのライブラリ等とリンクして本当に単体実行可能なプログラムにするのに必要)
です。
ただし、リンカの種類はコンパイラによって決められていることが多く、またリンカがコンパイラに付属していることも多いため、リンカ単体で意識すべきことはあまりありません。

または、
4.「IDE」(「統合開発環境」の略、テキストエディタ機能が内蔵されている上、ボタン押下一発でコンパイルとリンクを自動的にやってくれるので便利)
が必要になります。
コンパイラとリンカはIDEに内蔵されている場合と別途必要な場合がありますが、後者の場合もIDEによってコンパイラとリンカが決め打ちされていることが多いです。
ただし、IDEのテキストエディタ機能は動作が遅かったり、動作に独特の癖があったりして、使い勝手が好みに合わない場合があります。

ご指摘のサイトを参照した限りでは、完全に無料なのは「GNU Compiler」系だけです。他のコンパイラは「市販版コンパイラの勉強用・お試し版」といった位置づけで、「無料だが何か機能的制限がある」と思ってください。ただし「C言語入門書籍のサンプルプログラム作成程度なら、制限には引っかからない」「市販ソフトやそれに準ずる高機能・大規模なソフトを開発する際に、制限を解除された市販版が必要になる」と考えてください。

テキストエディタはいくつか試用しましたが「TeraPad」か「K2Editor」をお勧めしておきます。「EmEditorFree」は有料版「EmEditor」のお試し版で、あまり高機能ではありません(それでもWindows付属「メモ帳」よりは高機能ですが)。

なお「後学のためにも「UNIX環境互換」に強く拘りたい」かつ「3万円以上の初期投資が可能」の条件を満たすならば、自作するなり廉価なパソコンをもう1台購入するなりして、OSごと「Linux」(OSごと無料のUNIX互換OS)に入れ替えるという手段もあります。ややハードルは高いですが、安価な入門書も出版されています。

では、勉強頑張ってください。

投稿日時 - 2013-02-07 20:10:35

補足

>「後学のためにも「UNIX環境互換」に強く拘りたい」かつ「3万円以上の初期投資が可能」の条件を満たすならば、自作するなり廉価なパソコンをもう1台購入するなりして、OSごと「Linux」(OSごと無料のUNIX互換OS)に入れ替えるという手段もあります。

今朝、大学では何のOSを用いるのか聞いたところ、CentOSを使用するみたいでした。なので
http://www.e-agency.co.jp/column/20121004.html
こちらのサイトでCentOSの仮想環境を立ち上げると、自宅でもC言語プログラミングが可能でしょうか?(テキストエディタ、コンパイラ、リンカ若しくはIDEも、CentOSをダウンロードした段階で手に入るのでしょうか??)


3万円以上の初期投資が可能ならば…との事ですが、無料では出来ないのでしょうか?総合環境は慎重に整えたいので、改めてご意見よろしくお願い致します。

投稿日時 - 2013-02-08 11:59:11

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(10)

ANo.10

#7です。CentOS や Ubuntu を使っています。

> http://www.e-agency.co.jp/column/20121004.html

読んだかぎりでは、上のWebページの通りにして特に問題はないでしょう。十分に使える総合的な環境を、無料でそろえることができます。また足りないものは簡単な操作で後から追加インストールできます。ただ、非常に計算量の大きい問題を扱うようになると、仮想環境では計算に時間がかかり不満を感じるようになるかもしれません。実際にそうなってから考えても遅くはないでしょう。

Ubuntu は個人利用であれば CentOS より便利です。しかし更新が早く、すぐ変わるので、安定志向の CentOS に比べると教える側は負担が増えるでしょう。CentOS はシェアの大きい Red Hat Enterprise Linux との互換性が高いので、困ったとき助けになるWebや書籍の情報が多いです。一方、日本語環境が他のディストリビューションより弱いかもしれません。LaTeX の利用では、UbuntuやVineより手間がかかるかもしれませんね。

Cコンパイラは gcc が一般的です。IDE は Eclipse が人気がありますが、Emacs や vim のようなテキストエディタもユーザが多いです。これは入門書に合わせて選べばよいでしょう。

投稿日時 - 2013-02-09 20:01:43

ANo.9

Wr5

>こちらのサイトでCentOSの仮想環境を立ち上げると、自宅でもC言語プログラミングが可能でしょうか?(テキストエディタ、コンパイラ、リンカ若しくはIDEも、CentOSをダウンロードした段階で手に入るのでしょうか??)

可能です。
コンパイラなどは開発環境のパッケージを選択してインストールすれば入るでしょう。
IDEに関してはちょっと不明ですが。
# vimでソースいぢって、makeやgccでコンパイル…しかやっていませんので。

投稿日時 - 2013-02-08 12:40:18

ANo.8

zwi

No.6さんの3万円の回答はパソコンを買う前提で話されています。よく読みましょう。
CentOSを仮想PC上で動かす分にはお金は掛かりません。

CentOS: Linuxディストリビューションの一種で無料です。
gcc: GnuプロジェクトのC/C++コンパイラで無料利用できます。
仮想PC: 個人で勉強目的ならWMwarePlayerやVirtualBoxが無料利用できます。

問題なのは、Linux/Unix系が環境構築やら設定に様々な知識を必要とすることです。
WEB上の情報だけで出来る人は環境を構築出来ますが、こうやって人に聞かないとできない人は書籍などで勉強から始めないと難しいかなと言う所でしょうか。
あと、ややこしすぎて挫折する可能性もあります。

CentOSが入ったDVD-ROM付きの書籍を買ってきて言われる通りやればgccを含めた仮想PCでの開発環境を構築出るような物を選んだ方が無難でしょう。

ただ、そんな本があるかは把握していません。CentOSはどちらかと言うとサーバーで使われることが多いので解説もそちらに偏っています。クライアントだとubuntuの方が良いと思います。
「Amazon.co.jp: Ubuntu Magazine Japan vol.08 (アスキームック): アスキー書籍編集部: 本」
http://www.amazon.co.jp/dp/4048866893/

投稿日時 - 2013-02-08 12:37:47

UNIX系のOSを用いた時になるべく近づけるなら、GCCが良いと思います。

もし論文(というより数式)をLaTeXで書くとか、数値計算のプログラミングにLAPACKやBLASを使うとか、数式処理にMaxia等を使うというような機会が頻繁に起きそうなら、その都度Windowsで環境構築に悩むより最初からUNIX系の環境を用意してしまうのも一つの手です。どのような入門書を選ぶかにもよりますが。

投稿日時 - 2013-02-07 21:47:54

ANo.5

あなたがやりたいことは教本を読み進めるということだけで、
設定関係などが記されているならば、それを無視してプログラム
だけ学習したいということならば、質問内容にあるページの

Microsoft C/C++ Compiler
Borland C++ Compiler

のリンクを辿ったアプリケーションのどれかでいいです。


つまりはコンパイルできて実行できればいいわけなので。
IDEだから必然的にエディタも揃っているので、あれこれ
気にする必要ありません。

コンパイルするコマンドも何もかもすべて手動でやらないと
ダメというなら上記は目的に沿いません。
MinGW、Cygwinあたりで頑張ってください。

投稿日時 - 2013-02-07 17:14:31

ANo.4

全てのコンパイラを試した訳ではないのでオススメはありません。私が練習に使っていたのはBorland C++Compilerですね、(リストに無いのも1個使ってましたが名前忘れた)
最初は普通のエディタにソースを書いて、コマンドでコンパイルでもいいくらいです。
最初から総合環境を入れると混乱します。少し規模が大きくなってきたら総合環境を導入しましょう。

IDEを入れる時はMSExpressのように他言語版(VBやC#など)があるものを導入しておくと、他言語への移行が多少楽になります(設定がしやすい)。
そのサイトにはありませんが、EclipseのようにC++やPHP、Perl、C#、D言語、TeX、Python、Ruby、JavaScript、COBOL、AspectJなどの言語に対応した総合環境もあります。
総合環境は一度使い出したら変えにくい物なので慎重に選ぶ事をオススメします

投稿日時 - 2013-02-07 16:55:04

ANo.3

C言語の文法の勉強だけなら、学習用C言語開発環境というのがいいと思います。
http://www.forest.impress.co.jp/library/software/gakucgengo/

まあ確かにC言語とUNIXは密接な関係ですけど、勉強するだけならUNIXでなければならないというものでもありません。

投稿日時 - 2013-02-07 16:52:48

ANo.2

C, C++を使うのでしたらフリーのMinGWが良いと思います。以下参照してください。
http://www.mingw.org/
MinGWは、GCCのWindows版と考えて良く、同じコードがLinux GCCでも殆ど修正無しで使えます。
VC++で書いたコードは、Windowsでしか使えないと思ってください。UNIX系でも作業されるのでしたらお勧めできません。

エディタは、好みですが、
Windowsのメモ帳を使うと、Linuxで書いたコードが改行されずに読み辛いので、改行コードを指定できるものを使えばいいです。

Meryは使いやすいフリーソフトで、気に入っています。
http://www.haijin-boys.com/

投稿日時 - 2013-02-07 16:49:17

ANo.1

「UNIX系のOSを用いた時と同様に」なら
gcc と emacs なり vim なり
かなぁ. IDE は使わない方向で.

投稿日時 - 2013-02-07 16:47:15

あなたにオススメの質問