のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,843人
昨日: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
    651 : デフォルトの名無 - 2008/04/20(日) 23:54:24 (+25,-30,-25)
    >650
    必要なパッケージが足りてない。
    -mno-cygwin が使いたい場合、gcc-core だけじゃなくて gcc-mingw-core も必要。
    652 : デフォルトの名無 - 2008/04/21(月) 13:53:13 (+7,-29,-36)
    都合でMinGWを使いたいんだけど、Cygwin導入済みのWindowsに入れたら競合が起こるかな
    CygwinパッケージにもMinGWがあった気がするけど、両方とも干渉せずスタンドアロンで使いたいっす
    653 : デフォルトの名無 - 2008/04/21(月) 16:26:13 (-1,-29,-21)
    >>652
    cygwinでmingwのコマンド類のある場所にパス通したりしなければ問題ない。
    うちは普通に cygwin と mingw + MSYS が両方入ってる。
    654 : デフォルトの名無 - 2008/04/21(月) 22:37:48 (+47,+15,+1)
    >>651
    解決しました
    ありがとうございました
    655 : デフォルトの名無 - 2008/04/26(土) 15:13:24 (+3,-30,+0)
    libtoolがスタティックライブラリは作るのですがdllを作ってくれません ><

    /bin/sh ..//libtool --quiet --mode=link gcc -no-undefined -L/home/myname/install//lib
      -rpath /home/myname/install/lib -version-info 25:5:0 -export-symbols-regex '^ne_[^_]'
      -o libneon.la ne_request.lo ne_session.lo ne_basic.lo  ne_string.lo ne_uri.lo ne_dates.lo
      ne_alloc.lo ne_md5.lo ne_utils.lo ne_socket.lo ne_auth.lo ne_redirect.lo ne_compress.lo ne_207.lo
      ne_xml.lo ne_props.lo ne_locks.lo ne_xmlreq.lo  ne_acl.lo ne_openssl.lo
      -lssl -lcrypto  -lz -L/home/myname/install/lib -lxml2 -lz -lm
    が実行されると
    *** Warning: linker path does not have real file for library -lssl....
    *** using a file magic. Last file checked: /home/myname/install/lib/libssl.dll.a

    *** Warning: linker path does not have real file for library -lcrypto....
    *** using a file magic. Last file checked: /home/myname/install/lib/libcrypto.dll.a

    *** Warning: linker path does not have real file for library -lz....
    *** using a file magic. Last file checked: /lib/libz.dll.a
    *** The inter-library dependencies that have been dropped here will be
    *** automatically added whenever a program is linked with this library
    *** or is declared to -dlopen it.

    *** Since this library must not contain undefined symbols,
    *** because either the platform does not support them or
    *** it was explicitly requested with -no-undefined,
    *** libtool will only create a static version of it.
    といわれます

    ssl、crypto、zはaファイルのみでlaファイルがないためリンクが失敗してると思います
    configureし直して、この三つのライブラリがリンクされないようにしたらdllが出力され
    Since this library must not contain undefined symbols...も出なくなったのですが
    aファイルしかないライブラリをlaファイル捏造とか以外の方法(オプションとか環境変数とか)で
    libtoolによるリンクを成功させるにはどのようにすればよいでしょうか?
    656 : デフォルトの名無 - 2008/04/27(日) 09:02:53 (-1,-29,-4)
    laファイル捏造が嫌なら libtool 自体を書き換えるしかないと思うが。
    657 : デフォルトの名無 - 2008/05/04(日) 16:29:31 (+20,-30,-51)
    i686-elfがターゲットなbinutilsを作ったのですがgccにこれを使うよう指示する方法が分かりません

    http://iwatam-server.dyndns.org/hardware/h8comm/doc/CrossDevel-jp.html/ch-inst.htmlとかを見ると
    オレオレbinutilsを使いたい場合gccも作らなくてはならない感じなのですがどうにかする方法はないでしょうか?
    658 : デフォルトの名無 - 2008/05/05(月) 17:40:58 (+19,-11,-24)
    >>657
    gccにはそういうオプションなどなかったと思うけど、
    gcc -S でアセンブリソースを出して、
    オレオレas でオブジェクトを作って、
    オレオレld でリンクすればいいだけ。
    659 : デフォルトの名無 - 2008/05/05(月) 18:40:18 (-2,-30,-56)
    specsのinvoke_asとlinker書き換えて -specs= で読ませりゃいいんでない?
    661 : デフォルトの名無 - 2008/05/06(火) 12:26:41 (+91,+29,-18)
    乱数スレで質問すれば誰か詳しい人がいるかもしれないよ
    662 : デフォルトの名無 - 2008/05/06(火) 12:36:14 (+106,+29,-9)
    >>661
    そうですか。
    ただマルチになると申し訳ないので、2~3日寝かしてレス付かないようなら移動しますね。
    663 : デフォルトの名無 - 2008/05/06(火) 13:36:56 (+0,-29,-3)
    >>657
    -B prefix と -b target ジャマイカ?
    664 : デフォルトの名無 - 2008/05/06(火) 15:46:41 (+63,+30,-57)
    >>660
    もうすっかり忘れたけどrand()は線型合同法かなんかだっけ?
    メルセンヌツイスタを見つけたならひと口に乱数と言っても
    目的によって適不適があるというような注意書きを
    メルセンヌツイスタの作者が書いてるのに行き当たったり
    しているはずだが。
    665 : デフォルトの名無 - 2008/05/06(火) 15:55:16 (+77,+29,-44)
    >>662
    取り下げによる移動はマルチではない。
    移動の方法としてはいくつか在るがたとえば
    ここに、「~~(移動先URL)へ移動しました」などと書いたうえで
    移動先に「~~(ここのURLとレス番)から誘導を頂きました」
    とでも書いておけばその時点でマルチではなくなる。
    666 : デフォルトの名無 - 2008/05/06(火) 16:06:09 (+55,+29,-28)
    乱数スレの住人ってバカばっかりだからなぁ
    667 : デフォルトの名無 - 2008/05/06(火) 16:08:18 (-2,-30,-191)
    >>660
    > 高速に質の良さそうな乱数を取得する方法を探しております。
    目的を述べよ

    >  1./dev/randとはハードか何かで乱数作るんでしょうか?

    割り込み間隔とかネットワークのIO間隔等で乱数 seed を揺さぶり続けるため
    品質的にはそれなりだが, 再現性のある乱数系列を取得することは不可能

    >  2./dev/randはWindowsで使うことは出来ますか?

    /dev/rand に相当するデバイスドライバを書けば OK

    >   また使い方は?
    fd = open("/dev/rand", O_RDONLY);
    read(fd, random_buff, sizeof random_buff);
    668 : デフォルトの名無 - 2008/05/06(火) 16:44:44 (-3,-29,-23)
    > /dev/rand に相当するデバイスドライバを書けば OK

    ほら。もう、バカばっかり・・・
    669 : デフォルトの名無 - 2008/05/06(火) 21:28:53 (+27,-29,-51)
    >>660
    /dev/random
    /dev/urandom
    のこと? だったら、参考資料としてはこの辺とか。
    http://www.linux.or.jp/JM/html/LDP_man-pages/man4/random.4.html
    とりあえずCygwinなら使えるが、Linux等と同じ動作をしてるわけでは
    ないと思われるため、品質や速度については不明。MinGWは知らん。

    /dev/rand はぐぐってみると結構ヒットするけど、実在するの?
    670 : デフォルトの名無 - 2008/05/06(火) 23:01:34 (+57,+29,-2)
    作ればできるよ。ああできるよ。何だってできるよ、作れば。
    671 : デフォルトの名無 - 2008/05/06(火) 23:51:01 (+52,+25,+2)
    >>669
    作ればあります。
    672 : デフォルトの名無 - 2008/05/07(水) 03:08:41 (+57,+29,+0)
    作らんでもエイリアス張るだけちゃうん
    673 : デフォルトの名無 - 2008/05/07(水) 12:09:13 (-1,-29,-18)
    WindowsにEGD移植されてないんだっけ?
    674 : デフォルトの名無 - 2008/05/07(水) 16:19:35 (+12,-29,-25)
    すいません、MinGWにUTF-8を認識させるようにしたいのですが、そこらへん設定するにはどうすればよいでしょうか??
    どなたか教えて頂けると幸いです。
    675 : デフォルトの名無 - 2008/05/07(水) 16:23:27 (-1,-29,-37)
    >>674
    MinGWに認識させるとは?
    gccのオプション指定で入力エンコードと出力エンコードを指定するって話なら判るんだけど。
    676 : 674 - 2008/05/07(水) 16:47:30 (+3,-30,-77)
    レスありがとうございます。

    >> gccのオプション指定で入力エンコードと出力エンコードを指定するって話なら判るんだけど。
    分かりにくくてすいません、そんな感じのことを言いたかったのでした。
    コンパイル時のオプションで設定できたんですか。
    調べたら
    --input-charset, --exec-charset
    など、出てきました。

    ありがとうございましたm(_ _)m
    677 : デフォルトの名無 - 2008/05/07(水) 19:08:07 (+57,+29,-8)
    不完全な質問にヒント程度のエスパー回答、そして解決報告
    素晴らしい流れに心が洗われるようだ
    678 : デフォルトの名無 - 2008/05/07(水) 22:24:33 (-2,-30,-13)
    http://sourceforge.net/forum/forum.php?forum_id=820558
    > Testing: gcc-4.3.0-20080502-mingw32-alpha

    いきなり 4.3.0 ですかい
    679 : デフォルトの名無 - 2008/05/08(木) 00:24:46 (-5,-28,-15)
    x64対応はまだかね?
    680 : デフォルトの名無 - 2008/05/08(木) 21:00:27 (+62,+29,-54)
    おまいらソースを嫁
    http://cygwin.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/fhandler_random.cc?rev=1.36&content-type=text/x-cvsweb-markup&cvsroot=src
    http://msdn.microsoft.com/en-us/library/aa379942(VS.85).aspx
    各種外乱使った暗号論的擬似乱数っぽい

    暗号論的に優秀なのとMCやなんかで優秀なのは違ったと思うんで
    用途によるはずだがそのあたりは詳しく知らない
    681 : デフォルトの名無 - 2008/05/09(金) 13:17:06 (+9,-29,-64)
    MinGWでのコンパイルってこの方法であってますよね?
    コマンドプロンプトで、chdir ソースファイルが保存してあるディレクトリまでの絶対パスまたは相対パス
    そしたら
    ソースファイルが保存してあるディレクトリまでのパス>gcc ソースファイル.C -o ソースファイル.exe
    これでコンパイルしてもエラーでるからコンパイルの方法が悪いのかなって思ったんだけどさ
    ソースファイルは本通りに入力したはずだからあってるはず。
    もうプログラミング挫折しそうです。
    682 : デフォルトの名無 - 2008/05/09(金) 13:31:28 (-2,-30,-24)
    エラーを貼り付けないと回答のしようがない。
    コマンドライン慣れてないならVisual C++ 2008 Express Editionや
    Eclipse CDT使うのも手。
    683 : デフォルトの名無 - 2008/05/09(金) 13:34:32 (+4,-30,-29)
    すいません
    >>681の通りに入力して
    gcc: installation problem, cannot exec `cc1plus': No such file or directory
    と表示されます。
    684 : デフォルトの名無 - 2008/05/09(金) 14:14:33 (+56,+28,-25)
    目的がプログラミングの学習で、
    英語が全く分からない&英語を勉強する気はない
    なら VC++ 使った方がいい。
    685 : デフォルトの名無 - 2008/05/09(金) 14:14:45 (+49,+26,-1)
    そりゃめげるわな
    http://zieaon.co.uk/MinGW-cc1plus.html
    PATH通せ
    686 : デフォルトの名無 - 2008/05/09(金) 15:22:57 (-1,-29,-4)
    ありがとうございます。
    VC++ってC言語でもつかえるんですか?
    687 : デフォルトの名無 - 2008/05/09(金) 15:29:17 (+25,+2,-25)
    使えるよ
    でもスレ違い
    688 : デフォルトの名無 - 2008/05/09(金) 15:35:34 (-1,-29,-14)
    おぉ そうなんですか!!
    スレ違いになりますね;;
    みなさんありがとうございました。
    VC++で頑張ってみます
    689 : デフォルトの名無 - 2008/05/09(金) 15:57:33 (+49,+26,+0)
    華麗にスルーされた俺カワイソス
    690 : デフォルトの名無 - 2008/05/09(金) 16:23:16 (-2,-30,-25)
    大丈夫か?初心者にVCなんか勧めて。
    どうせ今度は sprintf_s、strcpys、strcat_s・・・ でつまづくだろ。
    オレなら Borland C++ Compiler を薦める。
    691 : デフォルトの名無 - 2008/05/09(金) 18:13:24 (-10,-28,+0)
    gcc(ry
    692 : デフォルトの名無 - 2008/05/09(金) 18:53:08 (+37,+19,+0)
    その前に日本語
    693 : デフォルトの名無 - 2008/05/11(日) 01:38:33 (+3,-30,-92)
    mallocのインターポジショニングがしたいのですが
    以下のようにやってもうまくいきません。
    環境はWindowsVista+cygwinでgccは3.4.4です

    ---main.c---
    #include <stdlib.h>
    #include <stdio.h>

    int main(void)
    {
    printf("start\n");
    char* c = (char*)malloc(10);
    return 0;
    }

    ---malloc.c---
    #include <stdlib.h>
    #include <stdio.h>

    void* malloc(size_t size)
    {
    printf("malloc\n");
    return NULL;
    }

    694 : デフォルトの名無 - 2008/05/11(日) 01:39:53 (+27,-30,-55)
    これを以下のようにコンパイルしました
    gcc -c -o testmalloc.o malloc.c
    gcc -o main.exe main.c testmalloc.o
    そして実行すると
    ./main.exe

    4 [main] c 1924 sig_send: wait for sig_complete event failed, signal -34,
    rc 258, Win32 error 0

    とエラーになります。そのあとにstartと表示されます。
    どこがまずいのでしょうか?
    695 : デフォルトの名無 - 2008/05/11(日) 02:49:43 (+5,-29,-15)
    >>694
    main()に入る前にmalloc()が呼ばれることもあるので、そういうハリボ
    テ実装ではダメ。

    696 : 694 - 2008/05/11(日) 04:02:19 (+3,-30,-210)
    >>695さんありがとうございます。
    ハリボテは駄目とのことなので、
    置き換えたmallocの中で本物のmallocを呼ぼうとしたのですが、
    やり方がわかりませんでした。
    ためしに以下のようにしてみたのですが、駄目でした。

    ---malloc.c---
    #include <stdlib.h>
    #include <stdio.h>

    static void* (*malloc_org) (size_t size);


    __attribute__((constructor))

    void save_malloc()

    {
    printf("save_malloc\n");

    // 本物mallocを保存。
      malloc_org = (void*(*)(size_t)) dlsym((void*)-1L, "malloc");

    }

    void* malloc(size_t size)

    {
    printf("malloc\n");
    return malloc_org(size);

    }
    697 : 694 - 2008/05/11(日) 04:05:44 (+3,-30,-22)


    gcc -c -o testmalloc.o malloc.c
    gcc -o main.exe main.c testmalloc.o
    ./main.exe

    ここで、save_mallocと出るよりも前に
    mallocと表示され、そこで前回と同じ症状となりました。
    何かよい方法はないでしょうか?


    698 : デフォルトの名無 - 2008/05/11(日) 10:15:40 (+3,-30,-115)
    Cygwinだよね?

     ソ ー ス 嫁

    そうすれば malloc などの置き換えのために何をすればいいかわかってくる。
    ただ、今回は malloc の書き直しが目標なのではないだろう?
    ヘッダ・ソースから内部構造体を調べて、ヒープヲークする程度で充分なんでは?

    > ここで、save_mallocと出るよりも前に
    > mallocと表示され、そこで前回と同じ症状となりました。

    オリジナルの malloc を"セーブ"することには意味がないよ。
    むしろ malloc_org が初期化されていない場面があるってことだから
    DLLから都度ポインタ得ても同じこと。
    そして、DLL内部で完結している malloc を、この方法で
    置き換えることは困難(つーか不可能)だ。
    (たとえば strdup の内部 malloc 呼び出しをこの方法で乗っ取れるか
    どうか実験してみるといい)
    699 : デフォルトの名無 - 2008/05/11(日) 13:03:46 (+3,-30,-146)
    動作確認してないけど、こんなのどう?

    ---main.c---
    #include <stdlib.h>
    #include <stdio.h>

    void* (*unko) (size_t size);
    #define malloc unko
    int main(void)
    {
      printf("start\n");
      char* c = (char*)malloc(10);
      return 0;
    }

    ---unko.c---
    #include <stdlib.h>
    #include <stdio.h>

    void* unko(size_t size)
    {
      printf("malloc\n");
      return malloc(size);
    }
    700 : デフォルトの名無 - 2008/05/12(月) 20:31:43 (+33,-30,-103)
    既にCygwin環境があるWindowsで、「他者のCygwin環境でWindowsに移植されたソフトウェア」を実行しようとすると
    cygwin1.dllのバージョンの差異でエラー(fatal error - system shared memory version mismatch detected)が発生します。
    既にCygwin環境があるWindowsで、それぞれが独立した形(スタンドアロン)として実行する最善の方法をご教授ください。
    ←前へ 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 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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