• ベストアンサー

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

nightowlの回答

  • 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の使用方法を教えていただけないでしょうか?

関連するQ&A

  • c言語の実行が分かりません

    C言語のプログラムを実行させる方法が分かりません。 unixでC言語を以下の手順で学習しています。 1 emacs上でファイル名.cというソースファイルを作成。 2 xterm上で gcc ファイル名.c と入力 その後xterm上で後一つコマンドを入力すればいいのですが、そのコマンドを忘れてしまいました。教えていただければ、ありがたいです。

  • MAC初心者 C言語

    MAC初心者です。テキストエディットでC言語のプログラムを作成したのですが、ファイルを.cの拡張子で保存できません。フォーマットの所に.cで保存できるものがないように思われます。gccはインストール済みです。すみませんがよろしくお願いいたします。

    • ベストアンサー
    • Mac
  • Cのコンパイル

    初歩的なことですいません。 Fedora Core5 のGNOME端末でC言語をコンパイルしようとしているのですが、gcc comand not find と返ってきて、コンパイルできません。ls でファイルは表示されます。gcc ファイル名.c と入力しています。どうすればコンパイルできるか教えてください。

  • Cをコマンドプロンプトから実行したい

     今晩は、Eclipse(CDT)でC言語を勉強している初心者です、宜しくお願いします。  WorkSpaceを作成して、そこに実際に作成したファイルを保存しています。  これをもし、コマンドプロンプトから動作させようとすると、どのファイルをどのように呼び出して、実行させて やればよいのでしょうか。  因みにEclipseのフォルダの中には、GNU>gcc>binというフォルダ構成?となっています。  また、GNU、gccのそれぞれの役割みたいなものはどういう意味でしょうか。  コンパイラらしきものというのはわかるのですが、色々と本を調べると、GNU、gccのどちらもコンパイラという風には 書いているのですが.........

  • ファイル名に#***#

    削除できないファイルがあるので質問します。 対話ウィンドウ(X11)で ls ~ を入力すると PicturesやDocumentsなどのディレクトリの他に、 #sample1.c# や #mail*#....# のように シャープで挟まれたファイルが存在します。 rm や rmdir 、cat、more、などのコマンドで反応しません。 どうしてこのようなファイルができ、またなぜ削除できないのかわかりません。 プログラム作成を目的にEmacsに作成し、またコンパイル、削除を繰り返すうちに出現しました。 このファイルがどのようなものなのか、また削除するにはどうしたら良いかなど教えてください。 初心者なので不明な点もあるかと思いますが、宜しくお願いします。

  • Emacs端末上で、Cプログラムが適切に動作しない

    こんにちは。 OSは現在、64bit版のWindows7を使っており、Emacsは、Gnu Emacs for Windows 23.4 を使っています。 Emacsのシェルモード(「M-x shell」で起動するモード)では、シェルとしてCygwinに付属しているbashを使い、C言語のソースをコンパイル(あるいはビルド)する場合は、Cygwinのgccを使おうと考えています。 ところが、ビルドしたプログラムをEmacsのシェルモードで実行すると、上手く起動しないので困っています。 具体的には、以下の通りです。 まず、テスト用のCソースファイルとして、以下のような、test.cを作成しました。 ------------------------------------------------------------ #include <stdio.h> int main(void) { int num=2; printf"Enter integer: "); scanf("%d", &num); printf("Number enterd: %d", num); } ------------------------------------------------------------ これをシェルモードで、gccを使ってビルドし、作成されたa.exeを実行すると、以下のようになりました。 [TERM=emacs] ------------------------------------------------------------ Kei-Lavie@Kei:~/C_Programs $ gcc test2.c Kei-Lavie@Kei:~/C_Programs $ ./a.exe 20 Enter integer: Number enterd: 20 ------------------------------------------------------------ 作成された実行ファイルのa.exeを実行すると、まず Enter integer: と表示されるはずなのですが、それが表示されず、止まります。 そこで、整数として適当に20を入力してみると、 Enter integer: Number enterd: 20 と出力されました。 どうやら、必要な入力操作が終わってから、全ての出力操作が行われるようです。 その事を確認するために、先ほどのtest.cのmain関数を、以下のように変更し、数値を入力する場面を2箇所設けました。 ------------------------------------------------------------ int main(void) { int i=2; double d=0.1; printf("Enter integer: "); scanf("%d", &i); printf("Integer enterd: %d", i); printf("\n"); printf("Enter number: "); scanf("%lf", &d); printf("Number enterd: %f", d); } ------------------------------------------------------------ これをシェルモードで、gccを使ってビルドし、作成されたa.exeを実行すると、以下のようになりました。 [TERM=emacs] ------------------------------------------------------------ Kei-Lavie@Kei:~/C_Programs $ gcc test.c Kei-Lavie@Kei:~/C_Programs $ ./a.exe 20 0.123456789 Enter integer: Integer entered: 20 Enter number: Number entered: 0.123457 ------------------------------------------------------------ 作成された実行ファイルのa.exeを実行すると、まず Enter integer: と表示されるはずなのですが、それが表示されず、止まります。 そこで、整数として20を入力してみても止まったままです。 そして浮動小数点数として0.123456789を入力すると、 Enter integer: Integer entered: 20 Enter number: Number entered: 0.123457 と出力されました。 やはり、必要な全ての入力操作が終わってから、最後に全ての出力操作が行われるようです。 しかし、作成されたa.exeを、ktermといった端末上で実行すると、プログラムは以下のように適切に動作します。 [TERM=kterm] ------------------------------------------------------------ Kei@Kei-Lavie /cygdrive/c/Emacs_for_Windows/C_Programs $ ./a.exe Enter integer: 20 Integer entered: 20 Enter number: 0.123456789 Number entered: 0.123457 ------------------------------------------------------------ つまり、上記のように、作成されたプログラムが適切に動作しない問題は、Emacs端末に固有のもののようです。 上記のような問題を解決しようといろいろ試していると、kterm上で、a.exeの出力を、catやnkfといった出力コマンドにパイプすると、上記のような問題と同じ動作をしました。 具体的には以下の通りです。 [TERM=kterm] ------------------------------------------------------------ Kei@Kei-Lavie /cygdrive/c/Emacs_for_Windows/C_Programs $ ./a.exe |nkf 20 0.123456789 Enter integer: Integer entered: 20 Enter number: Number entered: 0.123457 ------------------------------------------------------------ 以上のような事から、どうやらEmacsのシェルモードでは、プログラムの出力を、catなどの出力コマンドにパイプしているのだと予想されます。 そこで、シェルモードの動作を決めると思われる、shell.el(あるいはshell.elc)やcomint.el(あるいはcomint.el)の内容を見てみたのですが、複雑すぎて、どの部分がEmacs端末上での出力に関与しているのかが分かりませんでした。 どうしてもEmacsのシェルモードを使って、C言語での開発を行いたいと思っていますので、 以上の件について、同じような経験をされた方、あるいは、何か解決策としてのご提案がある方は、是非、投稿をお願い致します。 自力では解決できそうにないので、どうか力をお貸しください。 よろしくお願い致します。

  • C言語にてプログラミングを行っていて、FindFirstFileにてフ

    C言語にてプログラミングを行っていて、FindFirstFileにてファイル名を取得しようとしていますがうまくいきません。 第一引数に「D:\test\aaa*」と指定して、aaa01、aaa02、aaa03のようなファイル名が取得したいと考えています。 FindFirstFileの戻り値として、INVALID_HANDLE_VALUEがくるため目的の動作になりません。 上記のような事はできないのでしょうか? いろいろ調べてみましたが解決できなくて質問させていただきました。 以上ですが、よろしくお願いいたします。

  • C言語のソースのインデントがずれる・・・

    学校で、RedhatのemacsでC言語を書いています。学校のパソコン(Redhat)に保存されているC言語ファイルをFTPソフトを使って自宅のWindowsXPへダウンロードし、Windowsのエディターで開けたり、コピーしてWord2002に貼り付けると、インデントがずれてしまいます。 (例)   while(n<10){    a++;    n++;   } だったのが、   while(n<10){ a++; n++;     } のような感じになります。 word上で一からインデントを整える以外に、対処の方法があれば教えてください。ちなみに、漢字は使っていないので、文字化けはないです。

  • MacのターミナルでC言語の練習

    タイトルにある通りMacを使ってプログラミングを始めようと思ったのです。(プログラミングなんて今までやったことないド素人です。) 使っているのはC言語です。 ネットで調べみて、まずPC買った時に付いてたDVDでXcodeをインストールしました。 次に適当にファイル(ファイル名はpractice_c)を作りました。 次にテキストエディットで #include<stdio.h> int main(void){ printf("Hello World!\n"); return 1; } というプログラムを書いて(コピペして)先ほど作ったファイルに、hello.cというファイル名で保存しました。 そしてターミナルを開いてそのファイル(practice_c)をドラッグ&ドロップ。(ここまで参考にしているサイトと同じカンジで良い具合!!) 問題はここからです 続いてターミナルに gcc hello.c と入力&Enter!! すると、 -bash: gcc: command not found とターミナルの画面に表示されました あれ?何で?オカシイじゃん... サイトによると、本来ならa.outというファイルが出来ているはずなのに、それも無い... Xcodeがちゃんとインストールされてなかったのかなと思い、再度インストールしてやり直してみてもやっぱり同じ結果。 ネットで色々調べてみたけど原因が全然分からないです。 僕は一体何を誤っているのでしょうか?? 何かアイディアがある方、教えて下さい。

  • Emacsでのgccのインクルードパスの設定方法

    こんにちは。 Emacsは、Gnu Emacs for Windows 23.4 を使っています。 gccのインクルードパスの問題により、Emcasのcompileコマンドで、Cのソースファイルをコンパイルするができなくて困っています。 具体的には、CのソースファイルをEmacsで開き、「M-x compile」と入力した後、ミニバッファで「gcc -c test.c」と入力すると、以下のようなコンパイルエラーが表示されます。 ------------------------------------------------------------ gcc -c test.c test.c:1:19: no include path in which to search for stdio.h Compilation exited abnormally with code 1 at Sun Jul 08 18:24:05 ------------------------------------------------------------ どうやら、インクルードパスが設定されていないようです。 ちなみに、test.cは以下のような非常に単純なCプログラムです。 ------------------------------------------------------------ include <stdio.h> int main(void) { printf("Hello!\n"); return 0; } ------------------------------------------------------------ コマンドプロンプトや、ktermといった端末から、同じように gcc -c test.c というコマンドを実行すると、エラーが出る事はなく上手くコンパイルできますので、 適切なインクルードパスが設定されているはずです。 どうすれば、Emacsのcompileコマンドから、gccでコンパイルを行う時に使われる、インクルードパスを設定する事ができるのでしょうか? (gccの-Iオプションで、毎回インクルードパスを設定する必要をなくす方法が知りたいです。) では、よろしくお願い致します。