• ベストアンサー

Windows XPでC言語を勉強するには

授業でC言語を勉強しているのですが、できれば自分のパソコン(Windows XP Pro)でもエディタで書き、コンパイルをして動作を確認したいのですが、どうすればいいでしょうか? 学校ではcgwinを使えと言われましたが、どうも単純にフルインストール(1.5Gほどあります)してもうまく動作しませんでした。 問題点は、 ・emacsのみのコマンドでは反応するのですが、&をつけると別ウインドウで開かず、起動もしない。 ・emacsで、C-x-sでファイルを保存しようとすると、「File to save in: ~/」となるのですが、どのような名前、内容にしても、「Invalid regexp: "Unmatched [ or [^"」となり、保存できていませんでした。 ・cd ls mkdir rmdirは正常に動作します。 ・gccはおそらく動いているのですが、ファイルが保存できていないために確認できません。 解決方法をご存知であればその方法を教えていただきたいと思います。 よろしくお願いします。

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

  • ベストアンサー
  • nightowl
  • ベストアンサー率44% (490/1101)
回答No.5

遅くなりまして、No.3 です。 お礼をどうもありがとうございます。 環境はそう変わらないようですし(私は XP HE です)、 こちらでは日本語のユーザ名でも使えているのですが……。 あなたが日本語ユーザ/ホームディレクトリ名をお使いだとすると、 その文字の中に [ (0x5b)が含まれているのかもしれません。 http://service.jp.real.com/help/faq/prod/jp_gcc001.html 解消法は HOGERA3 さんのアドバイス通りで、それでもだめなら お手上げですが、一度 Emacs のインストール自体が ちゃんとなされているか確認されてはいかがでしょうか。 以下の質問を参考に、環境変数 CYGWIN も「tty」にセット。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=754220 >できればMedowの使用方法を教えていただけないでしょうか? キーシーケンス表記など、概要は以下の質問をご覧ください。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=757879 一通りの使用法は Meadow 自身が教えてくれます。 C-h t または F1 t でチュートリアルが起動しますので、 順を追って習得していけば大丈夫です。 Meadow(メドウ、動物たちが集う「牧草地」の意)は一言で言えば Windows 版 Emacs なのですが、今では本家 GNU(FSF) Emacs とは また別の方向性を志向して開発されています。 Meadow は Cygwin 同様 setup.exe を使ってネットインストール可能です。 setup(-ja).exe は参考 URLの Meadow 公式サイトからダウンロード。 ここには FAQ(よくある質問とその答え集)もありますので ご活用されますように。 インストーラはデフォルトで c:\Meadow をホームディレクトリとして インストールしようとします。これでもいいと思いますが、 HOME を Cygwin の方に合わせていると設定ファイルを読んでくれません。 Meadow のホーム(インストール)ディレクトリに dot.emacs.ja という雛形がありますので、 「mv dot.emacs.ja ~/.emacs」してください。 Meadow では Windows IME がそのまま使えますが、 確定した文字列が化けることがあるかもしれません。 その場合は .emacs に以下の行を入れる必要があります。 詳しくは「README.Meadow.ja」を。 (setq keyboard-coding-system 'sjis) 2番目 URL は Meadow ハッカーの小関吉則さんのサイトです。 Emacs 系エディタが初めてなら同じ小関さんの著書 「入門 Meadow/Emacs」(オーム社)をお供にすると便利でしょう。 川原雅好さんのサイトでは Meadow・Cygwin の両方がわかります。 ありがたや。 http://kawacho.don.am/index.html http://kawacho.don.am/win/meadow/index.html http://kawacho.don.am/win/cygwin/index.html Meadow のインストールに成功したら、 Cygwin の Emacsは捨てて構わないでしょう。 後は細かい疑問に答えて >・viとはエディタの1種でしょうか?起動しましたが、使い方がよくわかりませんでした。 vi と Emacs は UNIX/Linux のエディタの二大勢力ですが、 開発思想は正反対です。 コマンドモード(ESC2回)と挿入モード(i,a など)を切り替えながら 必要最小限のキー操作で光速編集のできる vi。 単なるエディタに留まらぬ総合コンピューティング環境、 その実体はエディタの付属した Lisp インタプリタである Emacs。 豊富なライブラリを読み込むことでメーラになったり(mew,gnus,etc.) ウェブブラウザ(w3m)に変身できたりします。 Cygwin に入っている vi は実際には vim(Vi IMproved)という改良版です。 Bram Moolenaar 氏らの手になる vim は Emacs の長所に見習い マルチウィンドウ、マルチエンコーディングに対応した優れもの。 普通 vi ではカーソルを h・j・k・l で左・下・上・右に動かしますが、 vim は矢印キーにも対応しています。 Cygwin Bash Shell 上なら Alt+漢字(半角/全角) で IME による日本語入力ができます。 ~/.vimrc に以下の行を書いておくと幸せになれるでしょう。 set encoding=sjis set fileencodings=sjis,euc-p,iso-2022-jp vim にもチュートリアルが用意されています。 シェルからコマンド「vimtutor」を実行してください。 文字化けするならこれも「:set encoding=sjis」して。 >>a.c:6:2: warning: no newline at end of file >ソースファイルの最後の行で改行すれば >この警告は出なくなるでしょう。 これはその通り、確認しました。 >$ a.exe >bash: a.exe: command not found >となり起動しませんでした。 私のところでは環境変数 PATH にカレントディレクトリを表す 「.」が最初から入っていたのでこれも解せませんが、 セキュリティの観点からはまずいことなので最新では改められたのでしょうか。 これも HOGERA3 さんのおっしゃる通り。 なお、UNIX/Linux 系 OS のバージョン、アーキテクチャなどは 「uname -a」で知ることができます。以下はホスト名を除いて私の環境。 また疑問が生じた際、この情報を添えると回答する人の助けになるでしょう。 CYGWIN_NT-5.1 hostname 1.5.5(0.94/3/2) 2003-09-20 16:31 i686 unknown unknown Cygwin 長文失礼しました。

参考URL:
http://www.meadowy.org/meadow/download.html,http://www.netlaputa.ne.jp/~kose/
kfd
質問者

お礼

解答ありがとうございます 返事が遅くなり申し訳ありません。 詳しい説明ありがとうございました。 まだまだ勉強不足ですが、これからがんばっていきたいと思います。

その他の回答 (4)

  • HOGERA3
  • ベストアンサー率35% (50/139)
回答No.4

>・emacs ファイル名でも保存時に同じメッセージが出、 >結果も同じでした。 もしかしてホームディレクトリが日本語ですか? だとしたらそれが原因かもしれません(自信なし)。 【解決(するかも)策1】 以下、cygwinが c:\cygwin\ にインストールされている ものとして説明しいます。 (1) c:\cygwin\home\ に名前が日本語のフォルダが   あると思います。   それの名前を半角英数のみに変更する。 (2) c:\cygwin\etc\passwd をエディタで開いて、   最後の行の   「/home/○○」を   「/home/(1)でつけた名前」   に置き換える。 【解決(するかも)策2】 cygwin上で以下を行う。 (1) /home/の下に新しく、名前が半角英数のみからなる   ディレクトリを作る。   (ここでは、その名前をhogeとする)   $ mkdir /home/hoge (2) 保存するときに   「File to save in: ~/」   と表示されたら、「~/」を消して   「File to save in: /home/hoge/ファイル名」   とする。 >・viとはエディタの1種でしょうか? はい、そうです。 かなりクセの強いエディタなので最初のうちは 使いにくく感じますが、慣れるとすごく快適です。 http://www.yk.rim.or.jp/~inukai/unix/vi_usage.html >a.c:6:2: warning: no newline at end of file ソースファイルの最後の行で改行すれば この警告は出なくなるでしょう。 >$ a.exe >bash: a.exe: command not found >となり起動しませんでした。 a.exeを実行するときに、このファイルのパスを指定 すれば実行できると思います。 a.exeがあるディレクトリで実行するなら、 $ ./a.exe とすればOKです。 ちなみに「.exe」は省略できます。 $ ./a だけでも実行可能。

kfd
質問者

お礼

解答ありがとうございました。 初心者の質問にもかかわらず丁寧な説明ありがとうございました。

  • nightowl
  • ベストアンサー率44% (490/1101)
回答No.3

こんにちは。 Cygwin がフルインストールされているなら X Window System(XFree86)が入っているので、 bash shell から startx または startxwin.sh で X を起動し、 xterm から「emacs &」してみましょう。 ただ、日本語の入力には難儀します。Windows IME との連携ができない上 (パッチあります)、SKK も quail の日本語モードもありません(涙) プログラミングがメインということなので、別にいいかなと思うんですが、 根性出して Canna や Wnn、または SKK をインストールしてみます? (私は Meadow なんで、そこまで Cygwin の Emacs には手間かけてません)

参考URL:
http://bernie.s14.xrea.com/cygwin/?emacs,http://www.atmarkit.co.jp/flinux/special/cygwin2/cygwin01b.html
kfd
質問者

お礼

解答ありがとうございます。 startxは起動したのですが、やはり、emacs &では、 $ Invalid regexp: "Unmatched [ of [^" がで、そのまま [1]+ Exit 255 emacs となり、起動しませんでした。 できればMedowの使用方法を教えていただけないでしょうか?

  • HOGERA3
  • ベストアンサー率35% (50/139)
回答No.2

emacsを起動するときにファイル名を指定してもだめですか? $ emacs hoge.c みたいに。 emacs以外のテキストエディタを使うという手もありますね。 ・cygwin上でviを使う ・メモ帳とかでファイルを作って、それをcygwin上でコンパイル などなど。

kfd
質問者

お礼

レスありがとうございます。 HOGERA3さんのアドバイスの結果ですが、 ・emacs ファイル名でも保存時に同じメッセージが出、結果も同じでした。 ・viとはエディタの1種でしょうか?起動しましたが、使い方がよくわかりませんでした。 ・メモ帳でファイルを作成後、コンパイル: gcc a.c a.c:6:2: warning: no newline at end of file するとa.exeというa.outに似たファイルができたので、実行すると、 $ a.exe bash: a.exe: command not found となり起動しませんでした。ちなみにa.cの中身は、 「 #include<stdio.h> main() { printf("abcdefg\n"); } 」 です。

  • mcurry
  • ベストアンサー率28% (45/158)
回答No.1

borlandC++をつかってみてはどうですか。 これは、コンパイラのみで、無償で提供されています。 インストール方法は、自分で検索してみてください。 http://www.borland.co.jp/cppbuilder/freecompiler/index.html コンパイラのみではつらいので、 BCC developerというエディタをつかってみてはどうですか。 bccのコンパイラを指定することで、楽にコンパイルもできます。 http://www.hi-ho.ne.jp/jun_miura/bccdev.htm ほかのコンパイラとして、mingwっていうのもあります。 http://www.mingw.org/download.shtml (windows環境でgccを動かすのに最小限必要なファイルだけふくまれたwin用のコンパイラだった気がします^^;) 上記二つのコンパイラはwin環境で動きますよ

関連するQ&A