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

    私的良スレ書庫

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

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

    gcc スレッド一覧へ / gcc とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    251 : デフォルトの名無 - 2010/06/08(火) 19:56:17 (-7,-25,+1)
    MINGW
    252 : デフォルトの名無 - 2010/06/10(木) 03:35:19 (-1,-29,-4)
    >>250
    え?mingwってgccだよ?
    253 : デフォルトの名無 - 2010/06/10(木) 13:29:20 (-1,-29,-9)
    GCC4.5のはいってるTDM-minGWが欲しいの。
    254 : デフォルトの名無 - 2010/06/10(木) 13:44:32 (-7,-25,+0)
    248
    255 : デフォルトの名無 - 2010/06/10(木) 14:12:41 (+19,-11,-9)
    TDMのホームページ検索しても>>248が出るようになってるけど
    リニューアルしたの?
    もしかして>>248が正式版?
    256 : デフォルトの名無 - 2010/06/10(木) 14:14:21 (+46,+18,-18)
    俺はオンデマンドインストールした
    その方がアンインストールも楽だしね
    257 : デフォルトの名無 - 2010/06/10(木) 14:16:29 (+1,-26,-8)
    漏れはOFFラインPCだからバージョンアップを調べるボタンをオフにしてインストールするんだ。
    258 : デフォルトの名無 - 2010/06/10(木) 14:17:37 (-1,-29,-15)
    MinGW GCC 4.5.0 and Boost 1.43.0.
    http://nuwen.net/mingw.html
    259 : デフォルトの名無 - 2010/06/18(金) 11:58:44 (+52,+29,-2)
    色々あって分かり難いな。
    260 : デフォルトの名無 - 2010/06/18(金) 22:51:23 (+8,-29,-22)
    mingw で作成したアプリケーションのエントリーポイントを WinMain にするには、どうすればいいのでしょうか?
    261 : デフォルトの名無 - 2010/06/19(土) 00:23:04 (-1,-29,-4)
    -mwindows オプションかな。
    262 : デフォルトの名無 - 2010/06/19(土) 06:18:06 (+12,-10,+0)
    Mingwて、どれ入れたらいいの
    263 : デフォルトの名無 - 2010/06/19(土) 09:09:30 (+46,+18,-8)
    それを自分で判断できない程度に素人なのであれば公式の current を。
    264 : 260 - 2010/06/19(土) 10:18:29 (+59,-30,-51)
    質問を変えます。mingw でコンパイル・リンクしたコードを調べてみると、
    GDI32/KERNEL32/USER32 のほかに, MSVCRT を呼び出しているようですが、
    MSVCRT の呼び出しをやめるようにコンパイルすることはできるでしょうか?
    GENERIC に手を加える必要があることはわかりましたが、そうしてもなおかつ MSVCRT を呼び出してしまいます。
    265 : デフォルトの名無 - 2010/06/19(土) 12:00:25 (+36,-29,-70)
    >>264
    spec をいじる方法。
    http://d.hatena.ne.jp/y2q_actionman/20070614/p1

    だが、 mingw gcc で普通に作られる exe は
    随所で msvcrt の機能に依存しているので、
    単にリンクを避けただけでは駄目だと思う。

    同等の機能をもったランタイムを用意するか、
    依存を完全に避けるコードにするか。

    あえて msvcrt をさける理由は何?
    266 : 264 - 2010/06/19(土) 12:23:35 (+66,+26,-12)
    >>265
    VC に依存するコードはつくりたくない、と考えただけなんです。
    267 : デフォルトの名無 - 2010/06/19(土) 12:26:32 (+6,-29,-1)
    >>266
    msvcrt はもはや Windows の一部。
    268 : 264 - 2010/06/19(土) 12:30:43 (+2,-29,-5)
    あと、borland bcc32 では msvcrt をインポートしないようですね。
    269 : デフォルトの名無 - 2010/06/19(土) 13:56:07 (-1,-29,-12)
    Win32APIだけで作ればいいのでは
    270 : デフォルトの名無 - 2010/06/19(土) 14:10:04 (-1,-29,-7)
    Cの標準関数使うと msvcrt が必要になるんじゃないか?
    271 : 264 - 2010/06/19(土) 14:23:29 (+10,-29,-29)
    bcc32 だったら win32api だけで書けば、>>266 は実現できるのですが、おなじソースを mingw でコンパイルすると、msvcrt をインポートするコードになるのです。
    272 : デフォルトの名無 - 2010/06/19(土) 14:45:42 (+30,-29,-18)
    -Wl,-e,WinMain
    でいいんじゃねえの

    >>268
    自前のランタイムリンクしてんじゃん
    273 : デフォルトの名無 - 2010/06/19(土) 14:47:15 (-1,-29,-17)
    crt2を書き換えるか、-mwindows
    274 : 264 - 2010/06/19(土) 14:53:23 (+58,+26,-27)
    >>272
    スタティックリンクしているのは別に構わないのですが、環境に依存する dll を呼び出すのは避けたい、と。
    bcc は自前のランタイムをインポートしていません。
    275 : デフォルトの名無 - 2010/06/19(土) 14:55:56 (-1,-29,-1)
    kernel32とかは環境に依存してないDLLってか
    アホじゃねーの
    276 : デフォルトの名無 - 2010/06/19(土) 15:07:49 (-1,-29,-33)
    mapファイル作るときにクロスリファレンス作らせて、
    どこでmsvcrt関連を呼び出してるか調べるところからやったら
    277 : デフォルトの名無 - 2010/06/19(土) 15:58:32 (+0,-29,-41)
    >>271
    msvcrt 相当のライブラリを用意すればいい。
    つまりは bcc はそうしてるってことだろう。
    Mingw の場合はスタートアップルーチンも msvcrt に依存してるっぽいな。
    278 : デフォルトの名無 - 2010/06/19(土) 17:27:55 (+3,-30,-30)
    MinGWとはつまり、コンパイラにGCCを使い、glibcの代わりにmsvcrtを使う開発環境だというのに
    その根本で有るmsvcrtを使わないと言うなら、MinGWを使うべきでない

    Win9x時代ならともかく、いまどきmsvcrtが使えない環境はない
    279 : 264 - 2010/06/19(土) 19:37:49 (+57,+29,-8)
    そうなんですね。特定のランタイムdll に依存していない処理系もあるので、ちょっとこだわってしまいました。
    ご意見ありがとうございました。
    280 : 232 - 2010/06/20(日) 08:11:56 (+3,-29,-59)
    つーかMSVCRT.DLLはOSの一部なんだが
    むしろ最近のMSVCはそれを利用することはなかったりする。

    逆に、最近目にすることができるWindows OSで MSVCRT.DLL を含んでない奴を教えて欲しいくらいだ。
    281 : デフォルトの名無 - 2010/06/21(月) 22:00:27 (+31,-29,-21)
    すみません、すごいこと聞きますが
    MSVCRT.DLLのCRTってなんなんですか?
    あと、MinGWでwindowsのドライバの作成(WDKソースのコンピル)できますか
    282 : デフォルトの名無 - 2010/06/21(月) 22:09:46 (+65,+29,-3)
    >>281
    C ランタイム ライブラリ
    間違ってもブラウン管のことではない。
    283 : デフォルトの名無 - 2010/06/21(月) 23:00:49 (+3,-30,-112)
    MinGWで下記のソース(test1.c)をコンパイルし、
     #include <stdio.h>
     int main(void) {
      int i;
      for (i=0 ; i<100000; i++) printf("a");
      return 0;
     }
    a.exe > hoge.txt を実行します。
    このとき gcc test1.c でコンパイルした実行ファイルは一瞬で実行できるのですが(体感0.1秒?)、
    gcc -ansi test1.c でコンパイルした実行ファイルは8秒ほど時間がかかります。
    ansiオプションは切りたくないのですが、実行ファイルが遅くなるのは嫌です。
    何かいい方法はありませんか?
    284 : デフォルトの名無 - 2010/06/21(月) 23:57:07 (+39,+16,-2)
    バファリングモードが変わるのか?
    285 : デフォルトの名無 - 2010/06/22(火) 13:16:23 (+3,-30,-150)
    シグナルを受信するプログラムを作ったのですがうまくいきません
    以下のプログラムに kill 3460 ALRM としても
    $ ./target.exe
    ZzzZzzZzzZzzZzzZzzZzzZzzZzz[1] 3460 terminated ./target.exe
    となってしまいます

    bool loop = true;
    void trap(int no)
    {
     std::cout << "tarp!!" << std::endl;
     loop = false;
    }

    int main(int ac, char** av)
    {
     struct sigaction sa = {0};
     sa.sa_handler = trap;
     sa.sa_flags |= SA_RESTART;

     if(sigaction(SIGALRM, &sa, NULL) != 0) {
      std::cerr << "sigaction error" << std::endl;
      return 1;
     }

     for(;loop;) {
      std::cout << "Zzz" << std::flush;
      sleep(1);
     }
     std::cout << std::endl << "Shhhhhhhhhhhhhhhhhhhhhhhhhh" << std::endl;
     return 0;
    }
    286 : デフォルトの名無 - 2010/06/22(火) 13:18:53 (+4,-29,-1)
    MS VC RT
    マイクロソフト visualC++ ランタイム
    287 : デフォルトの名無 - 2010/06/22(火) 17:06:08 (+56,+28,-9)
    ソースがマイクロソフトに依存しなけばいいからMINGWつかうんだよな。
    288 : デフォルトの名無 - 2010/06/22(火) 18:59:18 (+50,+27,-1)
    tarp!! に目が釘付け。
    289 : デフォルトの名無 - 2010/06/22(火) 22:22:17 (+3,-29,-10)
    >>282, >>286
    おーーーーーっ、どうも
    MS VisualC++ RunTime なんですか
    290 : デフォルトの名無 - 2010/06/22(火) 23:40:49 (+47,+29,+0)
    教えないよ
    291 : デフォルトの名無 - 2010/06/26(土) 05:25:59 (+79,-30,-38)
    これができないです
    operator errorがでます
    無理ですか?

    matrix1*=matrix2
    292 : デフォルトの名無 - 2010/06/26(土) 08:46:30 (+56,+29,+1)
    >>291
    もっとくわしく
    293 : デフォルトの名無 - 2010/06/26(土) 12:30:07 (+39,+21,+0)
    エスパー求む!
    294 : デフォルトの名無 - 2010/06/26(土) 15:28:34 (+3,-30,-60)
    Visual C++ではD3DXMATRIXの掛け算ができたのに、
    MinGWではoperator errorがでてできなっかったということです
    まあD3DXMatrixMultiplyを使えばいいだけですが
    295 : デフォルトの名無 - 2010/06/26(土) 21:36:54 (+66,+29,-12)
    >>291の調子でプログラムを書かれたらコンパイラも何していいかわからんわなw
    296 : デフォルトの名無 - 2010/06/26(土) 22:49:18 (+33,-5,-32)
    >>291
    演算子のオーバーロードが書かれたヘッダファイルを読み込んでないだけだろう
    297 : デフォルトの名無 - 2010/06/27(日) 01:23:20 (+40,+22,+1)
    エスパー来た
    298 : デフォルトの名無 - 2010/06/30(水) 11:55:31 (-1,-29,-36)
    動作するか確認したいので、4.5とboostの機能を使ったソフトウェアありますか。
    299 : デフォルトの名無 - 2010/06/30(水) 13:23:02 (+43,+25,+0)
    はい
    300 : デフォルトの名無 - 2010/06/30(水) 13:30:01 (-1,-29,-3)
    Komisar Mingwに--enable-ltoなMinGW上がってるね
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / gcc スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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