のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,946人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    元スレCygwin + MinGW + GCC 相談室 Part 3

    gcc覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - 932 + - cannotfind + - cp932 + - FreeHDL + - heap + - known + - log4cxx + - WinMain@16 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

    101 = :

    こちらで質問するのがあっているのがわからないのですがC言語の勉強を始めたのです、
    研修先がunix を使い vi gcc gdb を使っているので自宅でも似た環境をと思ってcygwinを利用しようと思い導入いたしました。
    allでインストールをしてとりあえずhello c と表示させるプログラムを書きました。
    ソースは下記のとおりです。
    #include <stdio.h>

    int main(void)
    {
    printf("Hello World!\n");

    return 0;
    }
    この程度なのでコンパイルエラーは起きていません。ファイル名はtest.c です。
    問題点は3つありまして
    1つ目
    gcc test.c でコンパイルをした際に a.exeができます。a.exe で実行した際に bash: a.exe: command not foundと出てしまいます。 なぜ実行できないのでしょうか?
    2つ目
    gcc -o test test.c でコンパイルしてできたtest.exeをtest.exeで実行しても実行はされているようなのですが(エラー等がでていないだけの理由ですが・・・)
    何も表示されず 次の入力待ちの状態になってしまいます。なぜ表示されないのでしょうか?
    3つ目
    以上の理由からぐぐってみたのですが解決方法がわからずcygwin上でなくウィンドウズ上のコマンドライン?で実行できるようにあったので試してみました。
    gcc -mno-cygwin test.c です。これでコンパイルしたものをウィンドウズ上で実行してみたのですが1瞬ちらっと表示されて窓が消えてしまいます。
    ぎりぎりプログラムとおり表示されていると確認できたのですがこれ以降このままだと困るのでしっかり表示されるようにするにはどうしたらいいのか?

    unixも今回初めて触って勉強中なのでおかしな言葉遣いや初心者過ぎるミスなのかもしれませんが、
    ご回答のほどよろしくお願いします。 
    また、それぐらい調べろよ・・・と思うかもしれませんが cygwin c言語 で検索してみたのですが
    質問3ぐらいの方法しか見つかりませんでしたので、検索ワードぐらいでも教えていただけれたらと思います。

    103 = :

    >>101
    1.
    ./a

    2.
    testという既存のコマンドが実行されている。testに関してはmanpage参照。
    自作のtest.exeを動かしたいのなら./test

    3.
    起動したらHello, world!と出力してすぐ終了するプログラムなんだから
    ウィンドウがすぐ閉じるのは当然。むしろ閉じてくれないと意図しない動作になるでしょ。
    コマンドプロンプトから実行するか、return 0;の前にscanfなりgetcharなり
    使えるのならgetcharなりで入力待ちを作る。

    104 = :

    >>101
    cygwinじゃなくて、Unix系コマンドインタプリタの基礎知識なんだが。

    Unix系コマンドインタプリタ(以下シェル)では、実行モジュールを探すのにPATH環境変数を利用する。
    ロートルUnixオペレータはしばしばカレントディレクトリ(.)をPATH環境変数に含めてしまう。
    そうすると、カレントディレクトリの実行モジュールがパスなし(ファイル名のみ)で実行できてしまう。
    最近のシェルは一般的にディフォルトではカレントディレクトリをPATHに含めるようなことはしないので、
    パスなしでは実行できない。それだけのこと。

    何故カレントディレクトリをPATHに含めてはいけないか、についてはスレ違いでもあるので
    自身で調査することをお勧めする。

    105 = :

    >>103
    ご丁寧にありがとうございます。
    説明されればああ、当たり前のことなんだと理解はできるのですが
    解決までもっていけないほど初心者だったので恥ずかしく思っています。
    >>104
    言い訳になってしまうのですがパスについてすらならっていなかったので
    丁寧に説明していただいてありがとうございます。
    カレントディレクトリをPATHに含めない件はスレ違いとのことですが
    お勧めしていただいたので調べたので必要ないかもですが
    理解したという報告まで・・ 環境によってコマンドが変わる事を避けるためと理解しました。
    ありがとうございます。


    返答が遅れましたが本当にスレ汚しのような質問にご丁寧に答えていただいてありがとうございます。
    cygwinのインストールがおかしいのかと消しては入れなおしたりを半日以上繰り返していた
    ため本当に助かりました。
    本当にありがとうございます。

    106 = :

    たぶんみんな知ってるから
    わざわざ報告しなくてもいいと思う
    そのレスもこのレスも無駄と判断するのが
    UNXクオリティ

    107 = :

    俺は解決したらそれっきりって奴よりいいと思うけどな。

    108 = :

    ムダかどうかというムダなレスが三つ(これも含む)増えてしまったわけだが。

    109 = :

    cygwinを導入し、windowsのコマンドプロンプトでUNIXコマンドを利用しています。
    ls や which といった一般的なコマンドは使用できるのですが、
    ../hoge.exe
    などと打ち込むと

    '.' は、内部コマンドまたは外部コマンド、
    操作可能なプログラムまたはバッチ ファイルとして認識されていません。

    というメッセージが出てしまいます。
    ./ を有効にすることは可能でしょうか?
    OSはWindows XP pro です。
    ご教授お願いいたします

    113 = :

    本当?

    114 = :

    本当。

    115 = :

    Windows Vista にcygwinをインストールしたいんだけど、
    ダウンロードが終わった後のインストール段階で、33%くらい進んだところで必ずとまってしまって、
    後は何時間放置してもうんともすんとも言わないんだけど、仕様?

    116 = :

    おそらく後ろに別のウィンドウが隠れている

    117 = :

    いや、何もなかったんだが

    118 = :

    ぼくのちんちんも皮の中に何か隠れています。

    119 = :

    箪笥の下に一匹いました

    120 = :

    MinGW + GCC から Excel ファイルを作ろうと思います。
    どのようにするのが一番コンパクトですかね?

    121 = :

    >>120
    xls限定? csvじゃダメなの?

    122 = :

    >>120
    最近POIをgcjでコンパイルして,CNIでC++から使おうとして挫折しましたorz
    トライしません?

    この方法Linux上だとうまくいったのだけど,
    Linux上でwin32へのクロスコンパイル環境を作って,
    それで試したら私は失敗しました.

    123 = :

    >>121
    うん、xlsがいいな。できれば幅変えたり色つけたりしたい。

    >>122
    Javaやrubyを通せばできなくはないけど、C++使っててそれは・・ねぇ。

    そんなに需要がないわけでもなさそうなのに情報がみつからん・・・。

    126 = :

    プロプラなんだから情報なんざそうそうあるわけねぇ
    OOoから物故抜け

    128 = :

    mingwのgccってstl エラー無く作動するの?

    129 = :

    mingwでSTL使ったら感染するのかな?
    GPLに

    131 = :

    >>129 ヘッダにライセンス書いてあるから読んどけ。

    132 = :

    gcc (GCC) 3.4.2 (mingw-special)

    #include <vector>
    void m(const char *s0)
    {
    std::vector<int> vec(20);
    }

    gcc src.cppで
    : undefined reference to `__gxx_personality_sj0'
    collect2: ld returned 1 exit status
    てなエラー。こういう眠くなるエラー見るだけでやる気ナッシング。

    134 = :

    特にSTLのエラーメッセージははまると最悪。

    135 = :

    >>134
    そんな次元の質問じゃねーよw

    136 = :

    普段C使ってるけど、STLコンテナ使いたくてC++にした。
    だからついgcc でやる。
    gccのコマンドオプションも眠くなるぐらいあるから気がつかなかった。
    やっぱ敷居が高そうだし、vs2005 cl にもどろっかな。

    137 = :

    普通はMakefileに書いておくのでいちいち手でコマンドうったりはしないような…
    まぁ書き捨てプログラムで gcc a.c とかはやるけど

    138 = :

    俺は汎用 Makefile 作って、
    それを include するだけの Makefile をカレントディレクトリに作るコマンド作ってるな。
    まあ、書き捨てプログラムは特定のディレクトリを使い回してるけど。

    139 = :

    まぁまぁまぁまぁまぁライオン

    141 = :

    VC++に無い関数を使いたくて
    Cygwin+gccでラッパーDLLを作ろうと思っています。

    そこで質問なのですが、Cygwinのfopen()の返すファイルディスクリプタと、VC++のfopen()の返すそれとでは、互換性はあるのでしょうか?

    142 = :

    そもそもFILE構造体自体に互換性がなかった希ガス。
    mingwならいざ知らず、ラッパー作るのも一筋縄じゃいかないような。
    一体全体、何をやりたいんだ?

    143 = :

    プログラム全体をCygwin上でコンパイルしたほうがきっと楽。

    145 = :

    ソースコンパチのコード書く場合、てっとりやばいからじゃない?
    たとえば、mmapを使いたいとかね。MapViewOfFileだと、結構差があるからそこから合わせるのは結構面倒。

    っていうか、>>141のレスからしてmmapでビンゴな希ガス

    147 = :

    >>146
    「GCC向けコード」って何のことを指してるんだ?
    コンパイラとしてGCCを使ったとしても使える API は OS 毎違うわけで…
    API も同じにしたい人が cygwin のような API レベルのエミュレーションを使うわけで…

    149 = :

    >>147
    Win32APIにはmmapは用意されてないんだよ。
    >>145の言うように代用のAPIがある。

    あと、Cygwin使えば基本的にはPOSIX準拠のAPIは使えるよ。

    150 = :

    なんかスンゴイの作ってるんだよ。きっと


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / gcc一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - 932 + - cannotfind + - cp932 + - FreeHDL + - heap + - known + - log4cxx + - WinMain@16 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について