トップページ⇒tech
981コメント266KB

Cygwin + MinGW + GCC 相談室 Part 5

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2010/03/24(水) 12:18:26
Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。

過去スレ:
Cygwin + MinGW + GCC 相談室 Part 4
http://pc12.2ch.net/test/read.cgi/tech/1221233882/
cygwin + mingwn + gcc 相談室 Part3
http://pc11.2ch.net/test/read.cgi/tech/1177944767/
cygwin + mingwn + gcc 相談室 Part2
http://pc11.2ch.net/test/read.cgi/tech/1126103347/
cygwin + mingwn + gcc 相談室
http://pc8.2ch.net/test/read.cgi/tech/1058134693/

関連サイト:
Cygwin http://www.cygwin.com/
MinGW http://www.mingw.org/

関連スレッド:
GCCについて part9
http://pc12.2ch.net/test/read.cgi/tech/1246059290/
【激遅】AppleGCC【絶望】
http://pc11.2ch.net/test/read.cgi/tech/1173267844/
0153デフォルトの名無しさん2010/04/30(金) 22:43:21
>>134>>135 あたりはまさにハウツーだろ。
ハウツーが理解できないというのは意味云々以前に基礎的な知識が足りてないということ。

例えば「微分方程式スレ」があったとして
「導関数って何かわかりません、でも解法教えてください!」
な人が来ても教えようがないだろ。
0154デフォルトの名無しさん2010/04/30(金) 22:57:41
>>153
確かにそうであるが・・・・・
何事も要領なわけであって・・・
>>152
cygwinについてはここからダウンロードしてくださいという
丁寧な指示から始まったんだ。でダウンロードし終わったあとなんです。
やり方通りにやったのに色々パスエラーがでるわで最大のつまづきがここです。
  ↓↓↓
「デスクトップ上のアイコン cygwin をダブルクリックして実行 → cygwinウィンドゥが現れ,
続いてホームディレクトリ "C:\cygwin\home\(ユーザ名)" が作成される」
  ↑↑↑
これは初期設定なんだが、これが不可能なんだ。何も起こらない。
0155デフォルトの名無しさん2010/04/30(金) 23:19:00
Javaのコンパイル環境構築しようと思ったんですが、インストーラーに用意されてる
gcc-javaとSun公式で配布されてるJDKとではどのような違いがあるのでしょうか?
沖ソフトさんのページをはじめ、JDKインストールして環境構築する解説ページが多いようですが。
0156デフォルトの名無しさん2010/04/30(金) 23:27:48
gcc-javaだとx86の実行ファイルがでける
0157デフォルトの名無しさん2010/04/30(金) 23:29:49
>>154
cygwinのインストールに失敗してるような?
cygwinのインストールに失敗する人がいるとは思わなかったよ
0158デフォルトの名無しさん2010/04/30(金) 23:38:29
>>123
cloog-ppl サポートを有効にしてる & ホストコンパイラが 4.5 だとデフォルトで c++ の
共有ランタイムにリンクされて実行できないバイナリができている可能性がある。
auto-import の warning が出てたら多分これ。config/mh-mingw の BOOT_LDFLAGS と
LDFLAGS に -Wl,--enable-auto-import を加えるか、--with-host-libstdcxx で static
archive を明示的に指定してみたらいいんじゃないかと。

>>127
同じくホストコンパイラに 4.5 を使って、gcc の依存ライブラリ (gmp/mpfr/mpc/ppl/cloog-ppl) から
自前ビルドする場合、これらのコンパイル時に -fexcess-precision=fast にしないと、動作がとても
遅いバイナリになった。詳細は本家 Changes の IA-32/x86-64 のとこに書いてある。
http://gcc.gnu.org/gcc-4.5/changes.html

もしこれに該当している場合はここを改善すれば大分早くなるような気がする。
自分のとこでは CとC++のみ、2コア、make -j2 bootstrap で大体1時間弱くらいで終わる。

両方ともまったく違う原因でトラブってるようだったらすまん。
0159デフォルトの名無しさん2010/04/30(金) 23:52:02
>>157
手順通りにやったのに失敗したのかなぁ?
一応そのサイト一�nだけど乗せましょうか?
誰かその手順通りやってくれませんか?
0160デフォルトの名無しさん2010/05/01(土) 00:02:17

同じ講義を受けている同級生や先輩や指導教官や、
(研究室に所属しているなら)研究室の人に効いた方が早いと思うぞ。

あと、参考までに、日本にある大学などサイトからCygwinのインストール手順を検索してみた。
site:ac.jp Cygwin インストール - Google 検索
http://www.google.co.jp/search?hl=&q=site%3Aac.jp+Cygwin+%83C%83%93%83X%83g%81[%83%8B
0161デフォルトの名無しさん2010/05/01(土) 00:17:31
>>158
動かんxgccの件は
STAGE1_CFLAGS = -g -fkeep-inline-functions
の-fkeep-inline-functionsを-O2に書き換えることで解決してます。
(原因はppl/cloog-pplをいれてるからかも)

-fexcess-precision=fast の情報、あんがと
mingwのバイナリをlinux上でクロスビルドしてるときは遅いとは思わないんだけど
0162デフォルトの名無しさん2010/05/01(土) 00:30:21
>>160
ありがとう。だが5連休なんでな・・・

http://www.comm.info.eng.osaka-cu.ac.jp/~sugi/C_lang2/setup/
 ↑
この手順に従ったんだが、できないぜ・・・
ホームダイレクトィが出てこない。
もう一回アンインストールしてダウンロードしようとしても
ダウンロードするまでが前と一緒になってる。
悪いが誰か実験してくれんかなぁ?
一応限定されたやり方だから質問にこたえてくれやすいと思うのだが。
ちなみにC+に関しては高校の時やったんであまり疑問はないです。
0163デフォルトの名無しさん2010/05/01(土) 00:33:18
ユーザー名に漢字使ってハマってた人はいたみたいだけど
01641622010/05/01(土) 01:51:18
>>162
http://www.comm.info.eng.osaka-cu.ac.jp/~sugi/C_lang2/setup/ を、以下の環境で試してみたよ。
- VMware Workstation 7.0.1 で作った仮想PC (メモリ 512MB)
- OS: Windows XP Professional SP3
- その他のソフト: Microsoft Updateの「高速」のすべてのパッチを適用し、
Microsoft Security Essentials をインストールした。
- Windowsのユーザ名は「testuser」
(質問するときは、↑くらいのことは最低限書いたほうがよいよ)

1. Cygwinのインストール完了後に、デスクトップ上の「Cygwin」ショートカットを
クリックすると、次の文字が表示された。問題なし。
------------------------------------
Copying skeleton files.
These files are for the user to personalise
their cygwin experience.

These will never be overwritten.

`./.bashrc' -> `/home/testuser//.bashrc'
`./.bash_profile' -> `/home/testuser//.bash_profile'
`./.inputrc' -> `/home/testuser//.inputrc'

testuser@xp-vm1 ~
------------------------------------
01651622010/05/01(土) 01:52:23
>>162
2. 「cygcheck -c」でCygwinのパッケージが正常にインストールされたかどうか確認した。問題なし。
------------------------------------
testuser@xp-vm1 ~
$ cygcheck -c | grep -v OK
Cygwin Package Information
Package Version Status
------------------------------------

3.「cygcheck -cd」と「uname -a」でCygwinのバージョンを確認した。
現時点のCygwinの最新版は 1.7.5-1 だから、
今回の件が解決したあと、別件でCygwin質問をしたいなら、
使っているバージョンや、http://www.comm.info.eng.osaka-cu.ac.jp/~sugi/C_lang2/setup/ で
インストールしたことを毎回きちんと述べること。
じゃないと、みんな Cygwin 1.7系、あるいは1.5系の最終版 1.5.25-15 を使っていることを
仮定して回答するだろうから、行き違いが生じるよ。

------------------------------------
testuser@xp-vm1 ~
$ cygcheck -cd cygwin
Cygwin Package Information
Package Version
cygwin 1.5.25-11

testuser@xp-vm1 ~
$ uname -a
CYGWIN_NT-5.1 xp-vm1 1.5.25(0.156/4/2) 2008-03-05 19:27 i686 Cygwin
-------------------------------------------
01661602010/05/01(土) 02:03:43
>>164-165
名前欄を間違った。自分は162じゃなくて、160だ。
01671602010/05/01(土) 02:16:24
ついでに、日本語のアカウント名でも試してみた。
以下のダメ文字一覧表の文字を使って、「曽綻転脳評望余」って
ユーザ名のアカウントを作って、同様に試してみた。

ダメ文字一覧表 (fudist)
http://sites.google.com/site/fudist/Home/grep/sjis-damemoji-jp/table

1'. Cygwinのインストール完了後に、デスクトップ上の「Cygwin」ショートカットを
クリックすると、次の文字が表示された。
------------------------------------
Copying skeleton files.
These files are for the user to personalise
their cygwin experience.

These will never be overwritten.

`./.bashrc' -> `/home/曽綻転脳評望余//.bashrc'
`./.bash_profile' -> `/home/曽綻転脳評望余//.bash_profile'
`./.inputrc' -> `/home/曽綻転脳評望余//.inputrc'

曽綻転脳評望余@xp-vm1 ~
------------------------------------

特に問題が無いようだ。

あとは、そちらで使っているOS固有の問題があるかも知れないし、
アカウントのユーザ名やアカウントが持つ権限が足りないかも知れない。

でもOSを明示せず、さらに、最初の数回の発言で、
「どんなOSを使ってる?」という質問をここの住人から引き出せないまま
言い訳を書くことに終始したあなたの責任だと思う。
よって、酷だろうが、自分はこれ以上は追試しないよ。
0168デフォルトの名無しさん2010/05/01(土) 02:25:08
>>164
>>165
ありがとうございます。もっかいやってみますが、初期設定がどうしても
できないんです。これってしなくてもいいんですか?
あっwもちろん杉山先生のそのサイトの初期設定ね。
でもなぁ・・何か俺のPC本当おかしいんですよ。タイピングしてたら急にお気に入りが
開いたり、今回もダウンロードしたのに失敗した恐れがありますとか出てくるし。
これじゃぁプログラミングに行く前に頓挫しそうだ・・・
0169デフォルトの名無しさん2010/05/01(土) 03:30:57
>>130=>>132=>>137=>>140=>>141=>>151=>>154=>>159=>>162=>>168
連休なんです。
0170デフォルトの名無しさん2010/05/01(土) 12:07:01
プログラミングの勉強をする前に、PCの初歩的な操作方法と
日本語を勉強したほうがいいかもな
0171デフォルトの名無しさん2010/05/01(土) 13:42:51
あと、釣り針の仕込み方と釣り堀の選び方もな!
0172デフォルトの名無しさん2010/05/01(土) 15:00:45
でネット上の説明が難解で専門的だから
こういうところで質問してると思うんですけどねぇ・・・
ワードみたいにこのアイコンをクリックとかそんな単純もん
じゃないし。躓いて質問しても、環境変数がとか〜設定がとか
難しいですよね結構。
0173デフォルトの名無しさん2010/05/01(土) 15:12:39
気に入らないなら他の手段使えばいいんだし、
cygwinみたいな地雷はそうそうないと思うけどな
linux板いくと地雷踏みすぎたか気の狂った物乞いばかりで怖いぜ
0174デフォルトの名無しさん2010/05/01(土) 17:48:15
<わからない11大理由>
1.読まない …現行スレ、テンプレ、取説などを読まない。読む気などさらさらない。
2.調べない …過去スレ、ググるなど最低限の内容も自分で調べようとしない。
3.試さない …めんどくさいなどの理由で実行しない。する気もない。
4.覚えない …人から聞いて、楽して得た答えは身に付かないから、すぐに忘れる。
5.説明できない …何に困っているのか、第三者に正確に伝わる文章が書けない。
6.理解力が足りない …理解力以前の問題で理解しようとしない。
7.人を利用することしか頭にない …甘え根性でその場を乗り切ろうとする。
8.感謝しない …教えてもらって当たり前。事がすんだらさようなら。
9.逆切れする …自分の思うようにならないと逆切れする。
10.開き直る …自分の思うようにならないと開き直る。
11.2ちゃんねるをお客様相談室だと思っている。
0175デフォルトの名無しさん2010/05/01(土) 20:14:29
GCC 4.5.1なんて出てたのね
http://www.xvidvideo.ru/2009-10-22-10-49-14/cat_view/28-cross-mingwgcc-x86x64/160-cross-mingw-with-gcc-45-x86x64.html
0176デフォルトの名無しさん2010/05/01(土) 20:58:25
>>175
>7.人を利用することしか頭にない …甘え根性でその場を乗り切ろうとする。
自分でコンパイルしろよ

0177デフォルトの名無しさん2010/05/01(土) 21:29:52
libiconvが入ってない
0178デフォルトの名無しさん2010/05/01(土) 21:46:01
>>176
お前が言うな
01791552010/05/01(土) 21:49:15
>>156
おっしゃってる意味がよくわからないのですが、JDKでコンパイルするとJavaVM上で動く
普通の中間コードが生成されて、gcc-javaでコンパイルするとx86向けのネイティブコードが
生成されるという意味でしょうか?

と悩んではみたものの、教本に使われているサンプルソースがJDKじゃないとコンパイルできませんでした。
教本も(非Cygwin環境下での)JDKを前提に解説しているので、勉強自体はこっちで進めます。
0180デフォルトの名無しさん2010/05/01(土) 21:59:19
さいなら
0181デフォルトの名無しさん2010/05/01(土) 22:31:35
教員に聞けよ
0182デフォルトの名無しさん2010/05/01(土) 22:38:01
そんなことは駄目
つ7.人を利用することしか頭にない …甘え根性でその場を乗り切ろうとする。
0183デフォルトの名無しさん2010/05/01(土) 22:40:52
gcc-javaをなんで使おうと思ったの?
0184デフォルトの名無しさん2010/05/01(土) 23:49:17
CygwinやMinGWをなんで使おうと思ったの?
0185デフォルトの名無しさん2010/05/01(土) 23:57:03
そこにcygwinとmingwがあったから
0186デフォルトの名無しさん2010/05/02(日) 00:41:39
感動した
0187デフォルトの名無しさん2010/05/04(火) 01:34:38
VC++(のリンカ)の /merge:.rdata=.text と同じことをMinGWで実現するにはどうすればいいか、ご存知の方おりませんか?
GCCはデフォルトで.rdataに文字を置くのですが、これを生成の段階で.textに変えたり、リンクの段階でマージするなどの方法を探しています
0188デフォルトの名無しさん2010/05/04(火) 02:03:03
i386pe.xとかを編集して使いなされ
0189デフォルトの名無しさん2010/05/04(火) 03:04:04
>>187
7.人を利用することしか頭にない …甘え根性でその場を乗り切ろうとする。
11.2ちゃんねるをお客様相談室だと思っている。
0190デフォルトの名無しさん2010/05/04(火) 03:46:28
できました。ありがとうございます
ldscripts/i386pep.x を書き換えて
gcc -Wl,--script=i386pep.xs のようにスクリプトを読ませたらリンクの段階でマージできました

--- i386pep.x
+++ i386pep.xs
@@ -27,2 +27,4 @@
*(.gcc_except_table)
+ *(.rdata)
+ *(SORT(.rdata$*))
}
@@ -45,4 +47,2 @@
{
- *(.rdata)
- *(SORT(.rdata$*))
___RUNTIME_PSEUDO_RELOC_LIST__ = .;
0191デフォルトの名無しさん2010/05/04(火) 03:47:06
コンパイル時でよけりゃ__attribute__ ((section (".text")))でいいんじゃね
0192デフォルトの名無しさん2010/05/04(火) 11:08:41
__attribute__だと全変数に指定要るしなにより文字列リテラルに指定できないぜ
0193デフォルトの名無しさん2010/05/04(火) 12:58:15
objcopyだな
0194デフォルトの名無しさん2010/05/07(金) 13:18:24
komisarから新しいのが久々にでてる。

GCC version 4.4.4

cross-mingw.gcc444.generic.20100506.7z (16M)
cross-mingw.gcc444.core2.20100506.7z (16M)

http://komisar.gin.by/mingw/
0195デフォルトの名無しさん2010/05/07(金) 13:50:02
TDMは何をしているんだ・・・。
0196デフォルトの名無しさん2010/05/07(金) 13:58:16
TDMはオナニーをしています
0197デフォルトの名無しさん2010/05/07(金) 17:08:57
>>194
ちなみに64bitはLTOがWin32でサポートされてから考えるってさ
0198デフォルトの名無しさん2010/05/07(金) 17:42:34
>>197
LTOってなんですか?
LTO - Google 検索
ttp://www.google.co.jp/search?num=100&q=LTO
どれだか分かりません・・・。
0199デフォルトの名無しさん2010/05/07(金) 17:46:56
Link-time optimization
0200デフォルトの名無しさん2010/05/07(金) 17:59:13
>>199
おおお、魅力的な響きですな。
ありがとうございます。
02012002010/05/07(金) 18:02:38
gcc の link time optimization
ttp://anond.hatelabo.jp/20100123160756

> 使いかたは簡単だ。-fltoを付ければいい。
コンパイルオプションで指定しないと発動しなかったのか。
ふーむ。

0202デフォルトの名無しさん2010/05/08(土) 11:26:29
恥ずかしいこと質問するんだが、笑うなよ
今、32bitXPを使っているんだけれども、これで64bitのバイナリを作成する
にはどうするの?
MingWの32bit版をつかって、オプション指定で作成するとか
0203デフォルトの名無しさん2010/05/08(土) 14:19:22
LOL
0204デフォルトの名無しさん2010/05/08(土) 16:12:04
>>202
MinGW-w64ってのがあるみたいだけど。

MinGW-w64 - for 32 and 64 bit Windows
http://sourceforge.net/projects/mingw-w64/
0205デフォルトの名無しさん2010/05/08(土) 16:24:17
一応は他のアーキテクチャにカテゴライズされるだろうから、
クロス環境用意すればいいんじゃないか?
ライブラリもあるからコンパイルオプションだけじゃ無理だと思うよ。
0206デフォルトの名無しさん2010/05/10(月) 13:33:52
まずはWin7 64bit買ってきなさい。
0207デフォルトの名無しさん2010/05/10(月) 15:05:55
もちろんテスト環境があるに越したことは無いが
開発環境まで64bitにする必要は無いよ
0208デフォルトの名無しさん2010/05/11(火) 13:28:52
PGI Workstationってどうなの?
http://www.softek.co.jp/SPG/Pgi/pgi_w.html
0209デフォルトの名無しさん2010/05/12(水) 08:25:28
いまさらで恥ずかしいんだけど教えてくれ

MinGWのことなんて呼んでる?
いままで「ミンジーダブリュー」って読んでたんだけど、
周りでは「ミング」とか「ミングダブリュー」とかが主流みたいなんだ
0210デフォルトの名無しさん2010/05/12(水) 08:45:05
ミングー
0211デフォルトの名無しさん2010/05/12(水) 09:03:25
>>210
サンクス
それ使わせてもらう。なんかピングーみたいでかわいいし
0212デフォルトの名無しさん2010/05/12(水) 17:39:30
みんぐをぅ
0213デフォルトの名無しさん2010/05/12(水) 18:42:47
みんgw
0214デフォルトの名無しさん2010/05/12(水) 18:47:19
作者もそのつもりだろ
0215デフォルトの名無しさん2010/05/12(水) 19:19:05
個人的にはミングーと呼んでる
人に言うときは・・・困る
ミンジーダブリュとか適当に言ったり
0216デフォルトの名無しさん2010/05/12(水) 20:32:30
俺はミングウィンだな
WはWindowsだし、しーわいじーうぃんの呼び方とも調和する
0217デフォルトの名無しさん2010/05/12(水) 20:35:57
みんぐぅに決まってるだろ
0218デフォルトの名無しさん2010/05/12(水) 20:40:52
Mingwのctors処理って__mainでやってるんだっけ?
dtors処理ってatexit()でやってるんだっけ?
0219デフォルトの名無しさん2010/05/12(水) 20:55:34
MinGWは知らんが、デストラクタ呼び出しの規格はこうなってる

・ atexitに関数を登録するより前に初期化された静的オブジェクトのデストラクタは、
 その関数を実行し終わるまでは呼ばれない
・ atexitに関数を登録した後に初期化された静的オブジェクトのデストラクタは、
 その関数を実行するより前に必ず呼ばれる
0220デフォルトの名無しさん2010/05/12(水) 22:04:54
>>216
ふつー「しぐうぃん」。
0221デフォルトの名無しさん2010/05/12(水) 22:11:21
>>218
じゃあatexitを呼ぶのは誰だ、ってな
0222デフォルトの名無しさん2010/05/12(水) 22:24:41
exitだろう常考
0223デフォルトの名無しさん2010/05/13(木) 06:02:45
>>220
なんだと。見ろよこれを
シーワージーウィン 約 366,000 件 (0.79 秒)
シグウィン 約 2,190 件 (0.26 秒)


"シーワイジーウィン" 3 件 (0.22 秒)
0224デフォルトの名無しさん2010/05/13(木) 06:16:59
>>223
一番上の、シーワイジーウィンの間違いだよな。
""で囲ってやり直してみな。
0225デフォルトの名無しさん2010/05/13(木) 06:49:56
もう少し痴的な会話をしろ
0226デフォルトの名無しさん2010/05/13(木) 20:31:09
>>224
メクラがおる
0227デフォルトの名無しさん2010/05/13(木) 20:32:24
>>223
しぐにゃん 約 54,000 件 (0.20 秒)
0228デフォルトの名無しさん2010/05/13(木) 21:33:24
あずにゃん!
0229デフォルトの名無しさん2010/05/13(木) 21:44:59
さいうぃんって読んでました
今必死に矯正してます
0230デフォルトの名無しさん2010/05/14(金) 13:09:12
開発元がCygnusだからねぇ。
0231デフォルトの名無しさん2010/05/14(金) 13:40:50
青銅的にキグウィン
0232デフォルトの名無しさん2010/05/14(金) 19:29:27
教えて君は調べずに聞くのでお前ら答えろ。

libcoldname.a が実際にどのように(ソース・定義ファイル・コマンドライン)生成されているか教えろ。


# ホントは1時間くらい調べて投げ出した
0233デフォルトの名無しさん2010/05/14(金) 21:46:32
1時間くらいで調べた言い張る教えて君には答えぬ。
0234デフォルトの名無しさん2010/05/18(火) 04:24:48
x libcoldname.a
o libmcoldname.a

moldname.def.in
moldname-msvcrt.def
0235デフォルトの名無しさん2010/05/18(火) 09:22:33
>>233
本当は知らないって言えばいいのに
02362322010/05/18(火) 12:26:05
>>234
thx. じつは今朝調べ直した。
俺が知りたかったのは、シンボル対応表の在処だったのだ。
なんのことはない、moldname-msvcrt.def にアンスコを足してインポートしてただけだったとは。

教えて君さいこー!
0237デフォルトの名無しさん2010/05/18(火) 19:40:24
許さぬ。
0238デフォルトの名無しさん2010/05/23(日) 00:54:00
mingw-w64ってvc用のlibと互換性なくなってる?
ATI Stream V2.1のOpenCL.libをリンクするとき、mingw 32bitだと-lOpenCLで普通にリンクできるのに、
mingw-w64だとシンボル名を見つけてくれない。
当然、-Lで32bit用、64bit用のライブラリパスを切り替えているので64bitでコンパイル時に32bitのlibを突っ込んでるみたいなミスはしていないし。
02392382010/05/23(日) 02:29:01
アセンブルコードを見てみた
printfがmingw-w64では_printf, visual C++ (x86_64)だとprintfという名前で呼ばれている。
つーわけでvisual Cのオブジェクトとmingw-w64のオブジェクトは互換性ないじゃん。
ちなみに、visual C++ (x86), mingw32だと両方共_printfで互換性あり。
うーん、これじゃ使えないぞ、mingw-w64。
0240デフォルトの名無しさん2010/05/23(日) 23:23:33
mingw-w64は不具合てんこ盛りで
vcとリンクさせるためにリビルドが必要な面倒臭いコンパイラですから
0241デフォルトの名無しさん2010/05/31(月) 10:55:43
ビルド品

http://logue.be/MinGW.html
MinGW - Epilogue/LogueWiki
0242デフォルトの名無しさん2010/06/02(水) 19:18:56
ビルド済みboost入っているのはこの二つだな。
どっちが使える?


My MinGW distribution ("distro") currently contains GCC 4.5.0 and Boost 1.43.0.
mingw-6.1.exe (14.7 MB) : This is a self-extracting archive, not an installer. See How To Install below.
http://nuwen.net/mingw.html


Logue Pack 20100415 QP's MinGW GCC 4.4.3ベース。
http://logue.be/MinGW.html
0243デフォルトの名無しさん2010/06/02(水) 19:24:09
4.5は4.4よりビルドが1割ほど余計にかかるらしい。
動作確認したいだけだから速くて汎用的な4.4使っとくか

http://journal.mycom.co.jp/news/2010/04/20/057/index.html
0244デフォルトの名無しさん2010/06/03(木) 14:44:49
XP 32bit+MinGWの環境でfstat()を使ってラージファイルのサイズ取得が
うまくいかないのですがどのように修正すればいいでしょうか?
off_tが64bitになっているはずと思うのですがst.st_sizeのサイズが4バイトに
なっているのが悪いと思うのですが。

gccは3.4.5 (mingw-vista special r3)でコンパイルは「gcc プログラム名」だけ
で行っています。


#define _LARGEFILE_SOURCE 1
#define _FILE_OFFSET_BITS   64 

#include <stdio.h>
#include <sys/stat.h>


int main(int argc, const char *argv[])
{
    struct stat st;
    FILE *fp;
    
    fp = fopen(argv[1], "rb");
    if (fp == NULL) {
        printf("error\n");
        exit(-1);
    }
    printf("fstat=%d\n", fstat(fileno(fp), &st));
    printf("len=%I64d\n", (long long)st.st_size);
    printf("sizeof=%d\n", sizeof(st.st_size));
    exit(0);
}
0245デフォルトの名無しさん2010/06/03(木) 14:55:08
winapiでラップするのが確実。アクセスはgccに合わせる
0246デフォルトの名無しさん2010/06/03(木) 16:20:26
/* These require newer versions of msvcrt.dll (6.10 or higher). */
_fstat64
0247デフォルトの名無しさん2010/06/03(木) 18:42:34
ありがとうございます。

構造体の宣言を struct _stati64 st;
取得を _fstat64()

にして正しい値が取れるようになりました。
0248デフォルトの名無しさん2010/06/08(火) 12:40:01
New TDM-GCC 4.5.0 in 32-bit or 64-bit editions!
http://tdm-gcc.tdragon.net/
0249デフォルトの名無しさん2010/06/08(火) 12:58:29
キタ━━━━━━(・∀・)━━━━━━!!!! キタ━━━━━━(゚∀゚)━━━━━━!!!! キタ━━━━━━(((゚∀゚)))━━━━━━!!!! キタ━━(━(━(-( ( (゚∀゚) ) )-)━)━) ━━ !!!!! キタ━━━━━━\(゚∀゚)/━━━━━━ !
0250デフォルトの名無しさん2010/06/08(火) 13:00:05
なんだ、GCCか・・・MINGWと勘違いしてしまった。
0251デフォルトの名無しさん2010/06/08(火) 19:56:17
MINGW
0252デフォルトの名無しさん2010/06/10(木) 03:35:19
>>250
え?mingwってgccだよ?
■ このスレッドは過去ログ倉庫に格納されています