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

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

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

    gcc スレッド一覧へ / gcc とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - 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 : デフォルトの名無 - 2007/07/07(土) 12:51:43 (+36,-30,+0)
    こちらで質問するのがあっているのがわからないのですが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ぐらいの方法しか見つかりませんでしたので、検索ワードぐらいでも教えていただけれたらと思います。
    102 : 101 - 2007/07/07(土) 12:57:38 (-1,-29,-1)
    すみません
    細かいところですが
     hello c でなくHello World! を表示させるでした・・・
    103 : デフォルトの名無 - 2007/07/07(土) 13:05:59 (+42,-30,-83)
    >>101
    1.
    ./a

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

    3.
    起動したらHello, world!と出力してすぐ終了するプログラムなんだから
    ウィンドウがすぐ閉じるのは当然。むしろ閉じてくれないと意図しない動作になるでしょ。
    コマンドプロンプトから実行するか、return 0;の前にscanfなりgetcharなり
    使えるのならgetcharなりで入力待ちを作る。
    104 : デフォルトの名無 - 2007/07/07(土) 13:29:48 (+44,-30,-159)
    >>101
    cygwinじゃなくて、Unix系コマンドインタプリタの基礎知識なんだが。

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

    何故カレントディレクトリをPATHに含めてはいけないか、についてはスレ違いでもあるので
    自身で調査することをお勧めする。
    105 : 101 - 2007/07/08(日) 14:28:03 (+69,+30,-135)
    >>103
    ご丁寧にありがとうございます。
    説明されればああ、当たり前のことなんだと理解はできるのですが
    解決までもっていけないほど初心者だったので恥ずかしく思っています。
    >>104
    言い訳になってしまうのですがパスについてすらならっていなかったので
    丁寧に説明していただいてありがとうございます。
    カレントディレクトリをPATHに含めない件はスレ違いとのことですが
    お勧めしていただいたので調べたので必要ないかもですが
    理解したという報告まで・・ 環境によってコマンドが変わる事を避けるためと理解しました。
    ありがとうございます。


    返答が遅れましたが本当にスレ汚しのような質問にご丁寧に答えていただいてありがとうございます。
    cygwinのインストールがおかしいのかと消しては入れなおしたりを半日以上繰り返していた
    ため本当に助かりました。
    本当にありがとうございます。
    106 : デフォルトの名無 - 2007/07/08(日) 15:30:51 (+57,+29,-13)
    たぶんみんな知ってるから
    わざわざ報告しなくてもいいと思う
    そのレスもこのレスも無駄と判断するのが
    UNXクオリティ
    107 : デフォルトの名無 - 2007/07/08(日) 16:26:11 (+57,+29,-3)
    俺は解決したらそれっきりって奴よりいいと思うけどな。
    108 : デフォルトの名無 - 2007/07/15(日) 18:41:13 (+57,+29,-34)
    ムダかどうかというムダなレスが三つ(これも含む)増えてしまったわけだが。
    109 : デフォルトの名無 - 2007/07/19(木) 00:13:23 (+7,-30,-141)
    cygwinを導入し、windowsのコマンドプロンプトでUNIXコマンドを利用しています。
    ls や which といった一般的なコマンドは使用できるのですが、
    ../hoge.exe
    などと打ち込むと

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

    というメッセージが出てしまいます。
    ./ を有効にすることは可能でしょうか?
    OSはWindows XP pro です。
    ご教授お願いいたします
    110 : デフォルトの名無 - 2007/07/19(木) 02:28:45 (-1,-29,-29)
    >>109
    cmd.exe は / をパスの区切りとしては見てくれない。
    .\hoge.exe でがまんせい。
    111 : デフォルトの名無 - 2007/07/19(木) 02:44:29 (-1,-29,+0)
    cygwin 導入したんなら、cygwin で作業すればいいと思うんだけど。
    112 : デフォルトの名無 - 2007/07/19(木) 04:43:23 (-1,-29,-20)
    APIレベルでは/でも通るって本当?
    113 : デフォルトの名無 - 2007/07/19(木) 08:46:54 (+40,+22,-1)
    本当?
    114 : デフォルトの名無 - 2007/07/19(木) 10:34:08 (+43,+25,+0)
    本当。
    115 : デフォルトの名無 - 2007/07/21(土) 19:31:36 (+62,+29,-24)
    Windows Vista にcygwinをインストールしたいんだけど、
    ダウンロードが終わった後のインストール段階で、33%くらい進んだところで必ずとまってしまって、
    後は何時間放置してもうんともすんとも言わないんだけど、仕様?
    116 : デフォルトの名無 - 2007/07/21(土) 21:22:35 (+57,+29,-4)
    おそらく後ろに別のウィンドウが隠れている
    117 : デフォルトの名無 - 2007/07/21(土) 21:25:21 (+52,+29,-1)
    いや、何もなかったんだが
    118 : デフォルトの名無 - 2007/07/21(土) 21:30:18 (+57,+29,-3)
    ぼくのちんちんも皮の中に何か隠れています。
    119 : デフォルトの名無 - 2007/07/21(土) 21:38:36 (+53,+30,-26)
    箪笥の下に一匹いました
    120 : デフォルトの名無 - 2007/07/24(火) 18:34:02 (+18,-29,-22)
    MinGW + GCC から Excel ファイルを作ろうと思います。
    どのようにするのが一番コンパクトですかね?
    121 : デフォルトの名無 - 2007/07/24(火) 18:37:35 (+34,-29,-19)
    >>120
    xls限定? csvじゃダメなの?
    122 : デフォルトの名無 - 2007/07/24(火) 18:48:55 (+42,-29,-55)
    >>120
    最近POIをgcjでコンパイルして,CNIでC++から使おうとして挫折しましたorz
    トライしません?

    この方法Linux上だとうまくいったのだけど,
    Linux上でwin32へのクロスコンパイル環境を作って,
    それで試したら私は失敗しました.
    123 : 120 - 2007/07/25(水) 11:33:31 (+69,+29,-58)
    >>121
    うん、xlsがいいな。できれば幅変えたり色つけたりしたい。

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

    そんなに需要がないわけでもなさそうなのに情報がみつからん・・・。
    124 : デフォルトの名無 - 2007/07/25(水) 19:30:29 (-1,-29,-39)
    Win32環境だったらExcelをCOM経由で呼び出すのはどうだ?
    OOoもいけるのかな?
    125 : デフォルトの名無 - 2007/07/25(水) 20:51:47 (-1,-29,-20)
    COMを使うならVC++の#importが恋しい。
    126 : デフォルトの名無 - 2007/07/26(木) 18:09:14 (+57,+29,-5)
    プロプラなんだから情報なんざそうそうあるわけねぇ
    OOoから物故抜け
    127 : デフォルトの名無 - 2007/07/26(木) 18:48:00 (-1,-29,-18)
    OOoってmingwでビルドできるんだっけ?
    128 : デフォルトの名無 - 2007/08/06(月) 19:27:22 (+2,-29,-19)
    mingwのgccってstl エラー無く作動するの?
    129 : デフォルトの名無 - 2007/08/06(月) 22:12:06 (+28,-29,-8)
    mingwでSTL使ったら感染するのかな?
    GPLに
    130 : デフォルトの名無 - 2007/08/07(火) 00:53:06 (-1,-29,-3)
    >>128 どのgccがstlエラーありますか?
    131 : デフォルトの名無 - 2007/08/07(火) 00:53:53 (+53,+22,-6)
    >>129 ヘッダにライセンス書いてあるから読んどけ。
    132 : デフォルトの名無 - 2007/08/07(火) 09:48:52 (+7,-30,-108)
    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
    てなエラー。こういう眠くなるエラー見るだけでやる気ナッシング。
    133 : デフォルトの名無 - 2007/08/07(火) 09:51:42 (-1,-29,+2)
    134 : デフォルトの名無 - 2007/08/07(火) 09:53:06 (+49,-11,+0)
    特にSTLのエラーメッセージははまると最悪。
    135 : デフォルトの名無 - 2007/08/07(火) 10:11:33 (+63,+28,-2)
    >>134
    そんな次元の質問じゃねーよw
    136 : デフォルトの名無 - 2007/08/07(火) 10:37:01 (+14,-18,-47)
    普段C使ってるけど、STLコンテナ使いたくてC++にした。
    だからついgcc でやる。
    gccのコマンドオプションも眠くなるぐらいあるから気がつかなかった。
    やっぱ敷居が高そうだし、vs2005 cl にもどろっかな。
    137 : デフォルトの名無 - 2007/08/07(火) 10:56:34 (+57,+29,-10)
    普通はMakefileに書いておくのでいちいち手でコマンドうったりはしないような…
    まぁ書き捨てプログラムで gcc a.c とかはやるけど
    138 : デフォルトの名無 - 2007/08/07(火) 16:16:35 (+3,-29,-18)
    俺は汎用 Makefile 作って、
    それを include するだけの Makefile をカレントディレクトリに作るコマンド作ってるな。
    まあ、書き捨てプログラムは特定のディレクトリを使い回してるけど。
    139 : デフォルトの名無 - 2007/08/07(火) 16:21:25 (+52,+29,+0)
    まぁまぁまぁまぁまぁライオン
    140 : デフォルトの名無 - 2007/08/07(火) 16:58:27 (-1,-29,-26)
    違う言語から呼び出すために、APIをラップしたちょっとしたDLL作ってる。(JAVA)
    141 : デフォルトの名無 - 2007/08/08(水) 22:55:04 (+39,-30,-64)
    VC++に無い関数を使いたくて
    Cygwin+gccでラッパーDLLを作ろうと思っています。

    そこで質問なのですが、Cygwinのfopen()の返すファイルディスクリプタと、VC++のfopen()の返すそれとでは、互換性はあるのでしょうか?
    142 : デフォルトの名無 - 2007/08/08(水) 23:00:12 (+57,+29,-45)
    そもそもFILE構造体自体に互換性がなかった希ガス。
    mingwならいざ知らず、ラッパー作るのも一筋縄じゃいかないような。
    一体全体、何をやりたいんだ?
    143 : デフォルトの名無 - 2007/08/08(水) 23:05:32 (+1,-26,-2)
    プログラム全体をCygwin上でコンパイルしたほうがきっと楽。
    144 : デフォルトの名無 - 2007/08/09(木) 03:25:42 (-1,-29,-59)
    VC++になくってcygwinにある関数を使いたいって…
    そのcygwinの関数はVC++で使えるであろう Win32 API で
    実装されてると思うからえらく遠まわりなことをしてる気が…
    145 : デフォルトの名無 - 2007/08/09(木) 03:35:24 (+73,+29,-24)
    ソースコンパチのコード書く場合、てっとりやばいからじゃない?
    たとえば、mmapを使いたいとかね。MapViewOfFileだと、結構差があるからそこから合わせるのは結構面倒。

    っていうか、>>141のレスからしてmmapでビンゴな希ガス
    146 : デフォルトの名無 - 2007/08/09(木) 03:36:49 (+69,+26,-29)
    ちなみに100%GCC向けでコードかけばソースコンパチじゃないかって話になるが
    まぁ、デバッグの都合上とか、最適化機能がgccは割とトロいとか、その辺の話かな
    147 : デフォルトの名無 - 2007/08/09(木) 03:43:35 (+34,-11,-74)
    >>146
    「GCC向けコード」って何のことを指してるんだ?
    コンパイラとしてGCCを使ったとしても使える API は OS 毎違うわけで…
    API も同じにしたい人が cygwin のような API レベルのエミュレーションを使うわけで…
    148 : デフォルトの名無 - 2007/08/09(木) 03:52:48 (-1,-29,-26)
    ああ、そこをつつかれるとは思わなかった
    Cygwin向け(POSIX向け)ね。
    mmapはWindowsのWin32APIにはないから。
    149 : デフォルトの名無 - 2007/08/09(木) 03:55:32 (+6,-29,-50)
    >>147
    Win32APIにはmmapは用意されてないんだよ。
    >>145の言うように代用のAPIがある。

    あと、Cygwin使えば基本的にはPOSIX準拠のAPIは使えるよ。
    150 : デフォルトの名無 - 2007/08/09(木) 12:04:56 (+57,+29,-14)
    なんかスンゴイの作ってるんだよ。きっと
    ←前へ 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 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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