のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,939人
昨日: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

    451 = :

    fread()一回では、エミュレートのオーバーヘッドは1回分であることが期待できる。
    多くても、BUFSIZごとに1回だろう。
    fgetc()では、毎回の呼び出しごとにオーバーヘッドが発生する懸念がある。
    ungetc()のために毎回余計に読み込まなくてはいけないと言う事情がこれに拍車を掛けるだろう。

    452 = :

    そゆのってオーバーヘッドのかからない層で
    バッファリングすると思うんだけど・・・。

    453 = :

    いや、そうじゃないからこそ、cygwinのエミュレーションは問題だといっている。

    454 = :

    MinGWのgccやg++は、標準ヘッダの検索パスをどこで決めているんでしょ?

    c:\mingwにインストールしたときはbinのpathを通すだけでコンパイルできたソースが、
    j:\!repos\softwares\mingwにインストールしたときはbinのpathを通すだけだと、
    no include path in which to search for stdio.hとか言われる。
    C_INCLUDE_PATHやCPLUS_INCLUDE_PATHを設定すればいいみたいだけど・・・。

    456 = :

    >>451
    ソースを読んでどこが悪いとか具体的に確信を持って言ってる?
    なんか勘違いしてる気が…

    457 = :

    そのへんを計測してみた人どこかにいないかな

    461 = :

    使いもしないツールを多く含んだメタボ気味なコンパイラ使うより
    いいかもね

    462 = :

    少しスレ違いかもしれませんが質問させてください。

    環境は、
    MinGW 5.1.3
    MSYS  1.0.10

    自前のC++ソースをビルドしようとすると、
    こんな感じのシンボル未定義のメッセージが並んでリンクエラーになります。
    foo.cpp:(.gnu.linkonce.t._ZNK11foo16hogeERKSt6vectorIdSaIdEEj+0x14a) : undefined reference to `_cxa_begin_catch'

    nmで見るとlibstdc++.aが必要なようですが、-lでばっちり指定しています。
    ./libstdc++.a:eh_catch.o:00000000 T ___cxa_begin_catch
    ./libsupc++.a:eh_catch.o:00000000 T ___cxa_begin_catch

    何が原因なんでしょう。。打つ手なしっす。

    463 = :

    -lの方が先に指定されていたりはしないよね?

    465 = :

    g++コマンドでリンクすりゃ、libstdc++を明示する必要はないはずだが。(勝手にリンカに適切なオプション渡してくれる)

    467 = :

    >>462
    アンダースコアの数が違うからリンクできるように見えない。
    マップファイルとかアセンブリのソースとか確認しないとわかんないね。

    468 = :

    バージョンが合ってないとか

    470 = :

    UACが有効なVistaでcygwin使うとき、sudoみたいに管理者権限を動的に(必要なときに)与えるようにしたいんです。
    ここで間違えないで欲しいのは、実行したユーザーが属するAdministratorsが保有するACL管理下の権限であって、Administratorの強制執行権限ではありません。
    引数をコマンドとして実行するだけのプログラムにマニフェストを組み込んでもcygwinから実行するとNo permissionでキャンセルされます。
    runasではadministratorでの実行は可能ですが、条件に合いません。
    何かいい方法は無いでしょうか?

    471 = :

    VisualStudio, gcc, vim, Cygwinで開発しています。
    MinGWというのは使ったことがあるのですが、メリットがよく分かりませんでした。
    上記の開発ツールに加えてMinGWも使うとしたときのメリットにどんなものがありますか?

    472 = :

    Cygwinというのは苦肉の策であって、
    例えばパス名の区切りがスラッシュになるなど、環境との親和性に問題がある。

    VisualStudioはアクチがあり、法外に高額で、
    かといってラーニングやスタンダードはライセンスにいろんな制約がある。
    ただしカネがあるなら最適化他の面で圧倒的に有利だ。

    gccってNTリソースパックのgcc?
    NTのPOSIXサブシステム用はOSの汎用性がない。

    MingWは完成度さえ高ければ素晴らしいのだがw
    ハローワールドで数メガとか恐ろしいことになったりするw

    473 = :

    >>471
    その列挙の意味がよく分かりませんが、VSとcygwin上のgccとvimを併用してると解釈します。

    http://ja.wikipedia.org/wiki/MinGW#Cygwin.E3.81.A8.E3.81.AE.E6.AF.94.E8.BC.83
    ↑cygwinとmingwの比較です。2つは哲学が異なります。

    cygwinはmingwに比べwindowsシステムとの互換性が低い(パスとか)のでwindows向けの開発であれば避けた方がいいかもしれません。
    しかし、cygwinにmingwが包括されています(詳しい位置づけはよく分かりませんが)。
    dllの不要化やWindows APIの利用も可能です。cygwinとmingwを併用する利点はあまり無いと思います。

    474 = :

    >>472
    ありがとうございます。

    Win32を使ったアプリを作らないせいか、環境とし親和性はあまり意識いたことないです。
    やはり、Win32APIを使うと問題になってきますか。
    VS Express 2005のフリー版を使っています。
    gccはCygwin上のgccです。

    >>473
    リンクありがとうございます。

    > VSとcygwin上のgccとvimを併用してると解釈します。
    そうです。わかりにくくてすみません。

    > しかし、cygwinにmingwが包括されています
    それは初耳です。cygwinを使っていれば、mingwと同じかそれ以上の
    ことが出来るということですか。

    > cygwinはmingwに比べwindowsシステムとの互換性が低い(パスとか)ので
    > windows向けの開発であれば避けた方がいいかもしれません。

    windows向けの開発をする予定があるので、今からVSを使って慣れておこうかと思っている次第です。
    windows向けであればcygwinよりmingwがいいんですか。
    あるいは、windows向けであればビジネス的にはVSが圧倒的シェアかと思いますが、
    個人的使用(趣味のプログラミング)であればVisualStudio2008などは高額で敷居が高いですね。
    個人向けであれば、mingwが最適なのかなと思って、最近mingwが気になりだした次第です。

    476 = :

    >>472
    ハローワールドで数メガとかならねーよw
    # あ…Javaで書いてgcjでコンパイルとかしたらなるか

    477 = :

    デバッグ情報てんこもりとか

    478 = :

    [Test.java]
    public class Test {
      public static void main(String[] args) {
        System.out.println("Hello, world.");
      }
    }

    > gcj -O2 --main=Test -o test Test.java
    > ls -lh test.exe
    -rwxr-xr-x 1 hoge none 6.1M Jan 14 03:04 test.exe*
    > strip test.exe
    > ls -lh test.exe
    -rwxr-xr-x 1 hoge none 2.1M Jan 14 03:06 test.exe*

    うはwww

    479 = :

    >>471
    VS と MinGW の両方でコンパイルできるコードが割と簡単に書けるところが MinGW のメリット。
    MinGW では基本的に Win32 API を使う。
    スレッド、WinSock2、DLL のロードなどは Win32 API を利用するので
    VS 用と MinGW 用のコードの差分は小さくなることが多い。
    コンパイラ依存の部分を #ifdef で分ければ大半のコードを共用できる。

    Cygwin は使ったこと無いのでパス。

    481 = :

    >>474
    windows用のソースをwindows用にコンパイルするのがmingw、勿論VSも
    linux用のソースをwindows用にコンパイルするのがcygwinのgcc
    cygwinでもwindows用のソースをコンパイルする事はできます、そこで使われているのがmingw
    このcygwinのmingwが本家と同一なのかどうなのかはよく知りませんが。

    gcc --target-help の最初の10行程を見てみてください、参考になるかと思います。

    482 = :

    一部のファイルをインクルードすると

    failure to convert cp932 to UTF-8

    というエラーが発生するんですが
    これは何が原因なんでしょう?

    別のエディタで文字コードをUTF-8にして保存しても直りませんでした

    485 = :

    いやまじであるぜ?
    改行コード

    486 = :

    >>482
    「一部のファイル」ってのを明確すると話が早かったりするかも。
    boostだったりしない?

    487 = :

    >COMプログラマの解説書
    >Crispin Goswell
    >Microsoft Office Product Unit
    >1995年 春
    >1995年9月13日改訂
    http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdncomp/htm/com_co.asp
    >抄録
    >この解説書は、
    >Microsoft(r) OLE Component Object Model(COM)オブジェクトを作成し、
    >効果的に使用する方法を説明しています。
    >例文はほとんどCで書かれていますので、実際に何が行われているかが、大変分かりやすく示されています。
    >プログラマの中には、オブジェクトを実行するためにC++を好んで使用する人もいるでしょう。
    >C++プログラマの観点からCOMの概念および基本的な使用法を論じているのは
    >Kraig Brockschmidt著のInside OLE (第2版)(MSDN Library(Books))です。
    >COMとは何か、またその設計や哲学の後ろにある動機付けをより理解する事に興味がある読者なら、
    >Component Object Model Specification(MSDN Library(Specifications))の最初の2章を読んでください。
    >第1章には簡単なイントロダクションを、第2章では徹底的に概要を解説してあります。
    >この解説書ではInside OLEとCOM Specificationにある情報を、
    >COMオブジェクトを実装する良い方法をいくつか示しながら解説するようにしてあります。

    488 = :

    >>482
    input-charset を CP932 として使っていながら、欧州由来のコードで
    CP932的に不正なものを含むソースをコンパイルしたんだと思う。
    ffmpegの何かのヘッダとか。

    489 = :

    エクスプローラーを使っているときに
    今見ているフォルダでCgywin窓を開きたいのですが
    どうしたらいいですか?

    490 = :

    アドレスバーからコピーして、cdすれば?

    493 = :

    窓の手の流用か

    494 = :

    あれ、なんでばれたんだろう?
    、と思ったら書いてあったねハッキリと

    495 = :

    MSYSからgetchとかkbhitを拾うのはどうしたらいい?

    コマンドプロンプトではできることが
    MSYSでは上手くいかないことが意外に多い
    printfは必ずfflushも書かないと表示されないし・・・(TT

    496 = :

    毎回のようにfflushするくらいならsetvbufに_IOLBFしとけ。

    で、getchやkbhitはC/C++にもPOSIXにも準拠していないし、Win32にも無い。
    強いて言えば、DOSのデファクトスタンダードだったので残してある、というだけ。

    Win32APIを使わないとするなら、
    conio.hじゃなくてcursesとかを使うんじゃないの?知らないけど。

    498 = :

    いま操作しているPC(ネットワーク上でのコンピュータ名はPC1)のcygwin(以下cygwin1)から
    sshでほかのPC(ネットワーク上でのコンピュータ名はPC2)のcygwin(以下cygwin2)にログインして
    \\PC1\Shareにアクセスしようとすると"-bash: cd: \\yy-x60s\Share: Permission denied"と言われてしまいます

    cygwin2から直接"cd \\\\PC1\\Share"を実行するとこちらは成功します

    cygwin2で"setfacl -m user:SYSTEM:rwx \\\\PC1\\Share"を実行して
    直後に"getfacl \\\\PC1\\Share"を実行すると
    # file: \\PC1\Share
    # owner: pc2user
    # group: なし
    user::rwx
    group::r-x
    other:r-x
    mask:rwx
    とでていて設定が反映されてないことが原因なような気がするのですが、どのように設定するばよいか分かりません


    ←前へ 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 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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