Cygwin + MinGW + GCC 相談室 Part 4at TECH
Cygwin + MinGW + GCC 相談室 Part 4 - 暇つぶし2ch2:デフォルトの名無しさん
08/09/13 00:39:10
CygwinとMinGWを同時にインストールするのは混乱の元になるので止めましょう。

3:デフォルトの名無しさん
08/09/13 01:01:07
qt4のために入れざるを得なかったんだ

4:デフォルトの名無しさん
08/09/13 22:26:51
標準でGCC 4が入るときは来るのか。
まともなlocale対応が入るときは来るのか。

5:デフォルトの名無しさん
08/09/14 12:11:19
>> 1 乙です
それにしても1000過ぎたら落ちるの速すぎだなあ

6:デフォルトの名無しさん
08/09/14 21:45:08
↓のGCC使ったやり方でFireFOXビルドできない><
URLリンク(developer.mozilla.org)

7:デフォルトの名無しさん
08/09/14 22:28:33
gcc4を入れたとか?

8:デフォルトの名無しさん
08/09/15 00:47:53
3だよっ!

9:デフォルトの名無しさん
08/09/15 01:19:20
エラーはどんなのがでるの?

10:デフォルトの名無しさん
08/09/15 08:54:34
>>6
この文書は 2007 年 3 月の MozillaBuild システム導入前の Mozilla 1.9 コードベースをビルドするためのビルド要件のガイドです。Firefox 1.5.0.10 以上、Firefox 2.0.0.2 以上、Firefox 3 をビルドする場合は標準的な Windows ビルド要件 を見てください

11:デフォルトの名無しさん
08/09/15 09:52:11
それちがうやん

12:デフォルトの名無しさん
08/09/20 02:04:24
Cross Compile Mozilla for Mingw32ってのがあるみたい。

13:デフォルトの名無しさん
08/09/20 13:44:30
ソースからコンパイルしたlinuxホストのクロスgcc 3.4.6で
-Wformatつけて%016I64xという書式指定をすると、
「unknown conversion type character `I' in format」
とか言われるけど、Windows用のmingwバイナリでも同じ?

LinuxでWindowsホストのx64_64-elfのgdbを作ろうとしてこれでこけた。

14:デフォルトの名無しさん
08/09/20 14:11:40
x86_64なのにlongが32bitなの?

15:デフォルトの名無しさん
08/09/21 08:03:08
mingw版gccで
#include<iostream>

int main(){
cout<<"こんにちは";
}
とするとちゃんと日本語表示される?
されないなら、対処法は?




16:デフォルトの名無しさん
08/09/21 13:33:22
Automated MinGW Installer 役に立たない・・・
ダウンロードがまったくできんし。

17:デフォルトの名無しさん
08/09/21 15:43:40
>>15
ソースコードをシフトJISで書いたなら --input-charset=cp932 を指定する
cp932 で読み込まれて内部では utf8 になるらしい、んで
吐き出される文字リテラルはデフォルトで utf8 なんだとさ
それをシフトJISにしたいなら --exec-charset=cp932 を指定する
g++ --input-charset=cp932 --exec-charset=cp932 hogehoge.cpp -o hogehoge.exe
こんなかんじka よくしらんがてきとう

18:デフォルトの名無しさん
08/09/22 01:04:46
MimGWインストールしたんだが
mingw32-make.exeがどこにもない

19:デフォルトの名無しさん
08/09/22 10:42:30
デフォルトでチェックはずれてたか、別パッケージだった希ガス

20:デフォルトの名無しさん
08/09/25 22:46:56
MinGWでGitって使えない?

21:デフォルトの名無しさん
08/09/26 10:27:19
msysGit

22:デフォルトの名無しさん
08/09/28 03:44:31
msysgitをインストールしてgit関連のを全部コピったら使えた。㌧

23:デフォルトの名無しさん
08/10/03 01:33:43
rubyをC++に組み込もうとしているのですがうまく行きません。板違いかなとも
思うのですが、MinGWでコンパイルエラーが出ていて、この部分さえクリアできれば
いけそうなので質問させてください。
エラーは、
newmain.cpp:31: error: invalid conversion from `VALUE (*)(VALUE)' to `VALUE (*)(...)'
newmain.cpp:31: error: initializing argument 3 of `void rb_define_method(VALUE, const char*, VALUE (*)(...), int)'
newmain.cpp:32: error: invalid conversion from `VALUE (*)(VALUE, VALUE)' to `VALUE (*)(...)'
newmain.cpp:32: error: initializing argument 3 of `void rb_define_method(VALUE, const char*, VALUE (*)(...), int)'
というものです、でVALUEは、
typedef unsigned long VALUE;
と宣言されています。ご教示お願いします。

24:デフォルトの名無しさん
08/10/03 01:42:11
>>23
エラーだけじゃなくてコードも見せなさいな。


25:デフォルトの名無しさん
08/10/03 01:51:41
>>24
こんな感じです。ruby付属のドキュメントの例のまんまなんですが、コンパイルが
通らないんです。

#include <ruby/ruby.h>
static VALUE t_init(VALUE self)
{
VALUE arr;
arr = rb_ary_new();
rb_iv_set(self, "@arr", arr);
return self;
}
static VALUE t_add(VALUE self, VALUE anObject)
{
VALUE arr;
arr = rb_iv_get(self, "@arr");
rb_ary_push(arr, anObject);
return arr;
}
VALUE cTest;
void Init_Test() {
cTest = rb_define_class("Test", rb_cObject);
rb_define_method(cTest, "initialize", t_init, 0); ←エラーが出てる箇所
rb_define_method(cTest, "add", t_add, 1);     ←エラーが出てる箇所
}

で、関数の宣言は
void rb_define_method(VALUE,const char*,VALUE(*)(ANYARGS),int);
となっています。引数のANYARGSの宣言は以下です
#define ANYARGS ...



26:デフォルトの名無しさん
08/10/03 02:11:29
第3引数が、可変長引数の関数ポインタを受け取るということだとは思うのですが、
なぜエラーになってしまうのでしょうか?

27:デフォルトの名無しさん
08/10/03 09:51:23
rubyか...
Rubyスレで聞くと良いんじゃね

28:デフォルトの名無しさん
08/10/03 10:21:17
>>27
rubyというよりもC++の問題かなと。でエラーが関数ポインタ周りだということで
簡単なソース作ったんですが、
#include <iostream>
#include <cstdarg>

using namespace std;

static void func(int n,int a,int b,int c) {
int v = a+b+c;
cout << v << endl;
}

int main() {
void (*p)(int,...)=func;
p(3, 1, 3, 5);
return 0;
}
とすると、
newmain.cpp:12: error: invalid conversion from `void (*)(int, int, int, int)' to `void (*)(int, ...)'
というエラーが出ます。
ちなみに、
int main() {
func(3, 1, 3, 5);
return 0;
}
だと、ちゃんと動いてくれます。
可変長引数の関数ポインタの中に、引数の数が決まった関数をぶち込むのに
なぜエラーが出てしまうのかが分かりません。

29:デフォルトの名無しさん
08/10/03 19:19:06
そりゃそうだ。
誤った引数を与えられるようになるから、そんな変換は認められない。
reinterpret_cast使え。

30:デフォルトの名無しさん
08/10/03 21:02:39
「可変長rリスト型」の引数の関数ポインタと、「int型の引数4つ」の関数ポインタだからだろ。
ruby脳の状態でC++使うからそうなる。使う言語に応じてちゃんと脳みそと知識を切り替えろ。

31:デフォルトの名無しさん
08/10/03 23:44:51
実際試してみるのにrubyをコンパイルしなおしたり色々していてやっとで出来ました。
>>29
reinterpret_cast使ったら一発でいけました。ありがとうございます。
>>30
ruby歴1日もないような気がしますorz どちらかと言うとPython脳です。
rubyとpythonの組み込みは、どちらが簡単かなと試していたら嵌ってしまって
質問させて頂いた次第です。お騒がせしました。

32:デフォルトの名無しさん
08/10/04 05:30:56
可変引数リスト使っていて va_list を使わずに直接突っ込むのはアリなのかなあ

33:デフォルトの名無しさん
08/10/05 01:06:57
引数順が分かってる分には問題ないよ
型チェック機構は働かないけどね

34:デフォルトの名無しさん
08/10/05 08:36:12
>>33
そうなんだ。ありがとう

35:デフォルトの名無しさん
08/10/07 15:46:40
3 [main] ? 3084 init_cheap: Couldn't reserve 3600336 bytes of space for cy
gwin's heap, Win32 error 487
C:\cygwin\lib\gcc\i686-pc-cygwin\3.4.4\cc1.exe (3084): *** AllocationBase 0x0, B
aseAddress 0x61820000, RegionSize 0x360000, State 0x10000

こんなエラーが出てしまいました。
gccによるコンパイル時です。
単に gcc とやったときにはno input fileと出るのでインストールはされているようです。

36:デフォルトの名無しさん
08/10/07 18:40:18
うん、マルチは死ね

37:デフォルトの名無しさん
08/10/07 20:24:45
>>35
URLリンク(www.madwizard.org)

38:デフォルトの名無しさん
08/10/07 22:10:11
XP使いなんですが

39:デフォルトの名無しさん
08/10/07 22:12:28
XP使いなんですが

40:デフォルトの名無しさん
08/10/08 01:39:33
XP使いなんですが

41:デフォルトの名無しさん
08/10/08 03:47:17
で?

42:デフォルトの名無しさん
08/10/08 14:59:43
ME使いなんですか?

43:デフォルトの名無しさん
08/10/10 09:48:33
MinGW+MSYSなんだが、>>35みたいなエラーがでるんで
rebasedのmsys-1.0.dllやらbash3.1を導入したら
AllocationBaseうんちゃらは出なくなったが、
configureやmakeでSegmentation faultが発生しまくるようになった。
しかも発生するところは実行するたびに変わるという鬼畜っぷり
これはどうすればいいんすか?環境はXP SP3です。

44:デフォルトの名無しさん
08/10/10 16:12:09
ベースを替えたんなら、変えたベースに合わせてビルドされた
バイナリを使えばいいのでは

45:43
08/10/12 13:17:45
いろいろがんばってみたけど分からんです
海外のBBSを漁ってたら同じような現象が起きてるみたいで
それの回答は「トロイ感染してんじゃね?」だった
でもウイルス見つからなかったし、OSのどっかが壊れてるのかもしれない

46:デフォルトの名無しさん
08/10/13 16:53:28
このスレに質問すればいいのか分かりませんが、
CygwinにGCC4.3.2を入れようと思って、ソースからビルドしたのですが、
libstdc++のところでコケちゃって、
/cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ccNICzCd.s:11: Error: unknown pseudo-op: `.symver'
/cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ccNICzCd.s:12: Error: unknown pseudo-op: `.symver'
……
/cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ccNICzCd.s:41: Error: unknown pseudo-op: `.symver'
というエラーが出ます。
おかげで、iostreamを使ったHello, worldすらリンクに失敗して困っております。
(printfを使ったHello, worldなら問題なくビルドできます)

どのような対策を講じればよいでしょうか?
ちなみに、以前にもGCC4.3.0を自力で入れたことがあって、
そのときはこのような問題は出ませんでした(表面化しなかっただけ?)

47:デフォルトの名無しさん
08/10/13 19:20:50
>>46
それ、asが出してるエラーだから、binutilsの問題かも?

48:デフォルトの名無しさん
08/10/14 19:05:01
>>47
ありがとうございます。
うーん、binutilsの最新版も入れてみたのですが、やっぱりエラー変わらないですね。

49:デフォルトの名無しさん
08/10/14 20:04:33
gcc4をsetup.exeで入れてみたら?

50:デフォルトの名無しさん
08/10/14 20:41:08
>>49
cygwinにgcc-4あったんですね、知りませんでした。
どうもありがとうございます、とりあえず目前の問題は解決しました。

51:デフォルトの名無しさん
08/10/15 08:45:02
error: size of array `temp' is too large というエラーについてですが
int temp[3,000,000]; とかにすると小さなスタック領域では確保できなくなりエラーが起こるのですが

これはリスト構造でヒープ領域に動的確保するしかないのでしょうか?
(2,500,000番目とかにアクセスする時は効率が悪そうですが・・・)

52:デフォルトの名無しさん
08/10/15 08:45:26
↑ちなみにC言語です。

53:デフォルトの名無しさん
08/10/15 09:22:42
スタックでは出来なくてもヒープなら大丈夫と思うが
int *p = malloc(sizeof(int) * 3000000); でどうよ?

54:デフォルトの名無しさん
08/10/15 09:30:05
ボーランドコンパイラにはスタック領域を変えられるオプションがあったと思うが
Cygwinの場合は何だったかな
--stack,サイズ -fstack,サイズ stack,サイズ

55:デフォルトの名無しさん
08/10/15 11:59:45
スタックだろうとヒープだろうと効率は大して変わらんよ

56:デフォルトの名無しさん
08/10/15 12:09:39
そうなの?

57:デフォルトの名無しさん
08/10/15 20:52:51
>>51
>これはリスト構造でヒープ領域に動的確保するしかないのでしょうか?
>(2,500,000番目とかにアクセスする時は効率が悪そうですが・・・)
文面からするとint*3メガ分ヒープから確保して全て線形リストに突っ込もうとしているように見えるが、

 int* LargeBuffer = malloc( sizeof( int ) * 3000000);
 LargeBuffer[2500000] = 2500000;

↑じゃだめなのか?



58:デフォルトの名無しさん
08/10/15 21:57:25
>>56
確保するのにかかる手間は違うが、
確保さえしてしまえばアクセスする手間は同じ。どっちも同じメモリなんだから。

59:デフォルトの名無しさん
08/10/15 22:17:13
32bitマシンだと連続で3メガとか確保できないのでは?

60:デフォルトの名無しさん
08/10/15 22:40:41
釣りならむしろ安心するけどさ。

#include <stdio.h>
#include <stdlib.h>
int main() {
  int i;
  int* pbuf = malloc( sizeof( int ) * 3000000);
  for (i = 0; i < 3000000; i++) {
    printf("%p\n", &pbuf[i]);
  }
  return 0;
}

試してみ。

61:デフォルトの名無しさん
08/10/15 22:49:27
>>59
3ギガバイトじゃないんだぞ

62:デフォルトの名無しさん
08/10/15 22:53:21
読み間違ってた。すんません。

63:デフォルトの名無しさん
08/10/16 08:55:34
Cygwinで64bitプログラム造るにはどうすればいいんだ


64:デフォルトの名無しさん
08/10/16 11:04:14
cygwin自体が64ビット化しないと無理では?
しかしFAQによれば・・・

URLリンク(www.cygwin.com)
>no one is working on a native 64 bit version of Cygwin

65:デフォルトの名無しさん
08/10/16 12:03:01
GCCとwindresのShift_JIS対応はまだ?

66:デフォルトの名無しさん
08/10/16 13:12:53
GCCはShift_JISに対応しているらしい。
URLリンク(www-online.kek.jp)

67:デフォルトの名無しさん
08/10/16 20:23:15
そこのページにSHIFT_JISとかだと駄目ってあるが、
そいつらだと\がU+A5に変換されるため。

68:デフォルトの名無しさん
08/10/17 02:03:33
mingw64というのがsourceforgeにあって適当に入れたが動かない。
面倒くさいのでパスすらろくに通してないからそりゃ当然だけど。
64bitにしたところで、32bitのdllとリンクできないから大して便利にならんなぁ。
なんでサンクみたいなのつくらなかったんだろ>MS

69:デフォルトの名無しさん
08/10/17 02:09:08
>>68
痛ニウムの実装をそのまま持って来ちゃったんだろうな…

70:デフォルトの名無しさん
08/10/17 19:16:46
今から作っても絶対(時期的に)遅くないと思うんだけど。

71:デフォルトの名無しさん
08/10/17 22:47:51
wow64?

72:デフォルトの名無しさん
08/10/18 13:37:16
>>71
それじゃダメなんだよな~


73:デフォルトの名無しさん
08/10/18 17:39:26
凄いって聞いてたけど

74:デフォルトの名無しさん
08/10/18 18:20:05
>>71>>73
MinGW関係なく、64ビットプロセスが32ビットDLLを読み込んだりその逆をしたりすることはできない。
(16ビットから32ビットへの移行時はできた)
>>69も言っているが、Itaniumならともかくx86-64でできないのは残念すぎる。

75:デフォルトの名無しさん
08/10/18 20:12:37
>>74
> 16ビットから32ビットへの移行時はできた

それってシステムDLLだけじゃねーの?
と思ったら一般DLL向けのサンクAPIなんかあったのか
URLリンク(www7a.biglobe.ne.jp)

しかし、ここまでやるならサイズ別にコンパイルしなおしたほうが
ややこしいこと考えずに済みそうな気もするが・・・

76:デフォルトの名無しさん
08/10/18 20:50:55
自分でソース持ってるものならな

77:デフォルトの名無しさん
08/10/18 21:23:00
>>75
LoadLibraryEx32Wとかのほうが手軽そうに見える(使ったことない)。
そこに書いてあるフラットサンクと違って、
引数の変換なんかはやってくれないが、32ビットDLLに手を入れることなく16ビットプロセスから呼び出せる。

78:デフォルトの名無しさん
08/10/31 11:54:57
それ逆じゃね

79:デフォルトの名無しさん
08/10/31 19:23:58
ついさっき、MinGWをインストールしたのですが、
math.hがなくて途方に暮れてます・・・

80:デフォルトの名無しさん
08/10/31 19:37:32
mingw-runtime にあるよ

81:デフォルトの名無しさん
08/10/31 21:34:51
Thx
解決しました。

82:デフォルトの名無しさん
08/11/09 18:39:16
最新のcygwinを使ってます。
以下の実装で以前は動いていたんですが、最近
--------------------------------------------------------
%.obj: %.cpp
@echo $<
@if [ ! -d dotDep ]; then mkdir dotDep; fi
@$(CC) $(CFLAGS) /showIncludes /TP /c /Fo$@ $< > dotDep/$*.d0 \
|| ( $(SED) -e '1{/$</d;}; /^Note: including file:/d' dotDep/$*.d0; exit 1)
@$(SED) -e '1{/$</d;}' \
-e '/^Note: including file:/d' dotDep/$*.d0
@(echo '$@: \' \
&& $(SED) -ne '/^Note: including file:/ { \
s|\\|/|g; \
s/^Note: including file:[ ]*//; \
s/$$/ \\/; \
s|^\(.\):| /cygdrive/\1|; \
p; \
}' dotDep/$*.d0 \
&& src=`$(SED) -ne '/^#line 1 /{s/.*"\([^"][^"]*\)".*/\1/; h;}' \
-e '8{x;p;q;}; $${x;p;q;}' $<`; \
&& echo "$${src:-$<}") > dotDep/$*.d1
@mv dotDep/$*.d1 dotDep/$*.d
------------------------------------------------------------------

/bin/sh: -c: line 10: syntax error near unexpected token `&&'
/bin/sh: -c: line 10: ` && echo "${src:-game.cpp}") > dotDep/game.d1'

実行すると上記のエラーになります。
どこが間違ってるのでしょう?

83:デフォルトの名無しさん
08/11/10 00:35:25
>>82
URLリンク(www.atmarkit.co.jp)

84:デフォルトの名無しさん
08/11/12 09:15:08
mingwをインストールしたのにsndfile.h が
ないんですけど?
どうしたらいいですか?
詳しく教えて下さい。
本当に困ってます。

85:デフォルトの名無しさん
08/11/12 10:38:59
>ないんですけど?
ないんですか? ないのか尋ねているのですか?

>どうしたらいいですか?
そもそも、mingwにsndfile.hがあると思った根拠は?

86:デフォルトの名無しさん
08/11/12 10:40:50
>>84
URLリンク(www.mega-nerd.com)

87:デフォルトの名無しさん
08/11/12 10:47:43
>>85
あげあしとらないでもらえます?
mingwにあるって聞いたんです。
>>86
そのURLなんですか?
詳しく教えて下さいって書いてあるのが読めないんですか?
本当に困ってます。

88:デフォルトの名無しさん
08/11/12 11:33:23
なんだ、釣りか。

89:デフォルトの名無しさん
08/11/12 19:54:52
>>87
もちろん>>86は一番詳しいところを紹介したに決まっているだろ。

90:デフォルトの名無しさん
08/11/12 20:20:08
>>87
MinGW に sndfile.h があるって言った奴に聞けよボケ

91:デフォルトの名無しさん
08/11/12 21:57:24
ちょっと環境違うんですが、Darwin の gcc で以下のファイル hoge.c をコンパイルすると
warning: build-in function "index" declared as non-function
って警告がでるんですが、どういうことでしょうか?
組み込み関数に index なんてありましたっけ??

int index;
int main(int argc, char *argc[])
{ return 0; }




92:91
08/11/12 21:58:22
ちなみにコンパイル時のコマンドは単に gcc hoge.c です。

93:デフォルトの名無しさん
08/11/12 22:01:06
>>87
ひとにものきく態度じゃないな
人としてのしつけをママにでも
幼児の頃からし直してもらってこい
話はそれからだ

94:デフォルトの名無しさん
08/11/12 22:05:19
>>91
$ man index
NAME
index, rindex -- locate character in string

LIBRARY
Standard C Library (libc, -lc)

SYNOPSIS
#include <strings.h>

char *
index(const char *s, int c);

char *
rindex(const char *s, int c);

95:91
08/11/12 23:06:12
ありがとう! man コマンドってCの関数も調べられるのね。
しかし strchr との違いがよくわからん。。。

96:デフォルトの名無しさん
08/11/12 23:09:10
The index() function is an old synonym for strchr().

97:デフォルトの名無しさん
08/11/13 01:19:56
しのにむ。。。。


98:デフォルトの名無しさん
08/11/15 23:19:32
mingw の crt2.oってどのパッケージにはいってますか?

99:デフォルトの名無しさん
08/11/15 23:22:11
URLリンク(cygwin.com)

100:デフォルトの名無しさん
08/11/15 23:23:48
>>99
ありがとうございます!
愛してる!

101:デフォルトの名無しさん
08/11/17 14:28:53
初心者質問すいません。
Cygwinではyumって使えないのでしょうか??
Cygwinの中に新しいソフトウェアをインストールしたい時ってどうするのが一番なんでしょうか?

102:デフォルトの名無しさん
08/11/17 14:34:54
cygwinの「中に」ということなら、セットアップを起動してパッケージを選択する。
それ以外のツールならWindows用をインストールして、適宜シンボリックリンクを張る。

103:デフォルトの名無しさん
08/11/17 23:03:28
ソースからコンパイルする

104:デフォルトの名無しさん
08/11/18 11:17:16
yum入れたらええやん

105:デフォルトの名無しさん
08/11/18 18:08:12
ansi Cの標準関数で、キーボードの状態を取得できるものってありますか?
ESC キーの状態だけでもいいのですが。。。。
標準関数がない場合はwin32 環境では GetKeyState みたいなのが使えますが、
Linux 系ではどんな関数をつかえば??

106:デフォルトの名無しさん
08/11/18 18:16:11
>ansi Cの標準関数で、キーボードの状態を取得できるものってありますか?
ありません。

>Linux 系ではどんな関数をつかえば??
Xアプリ なら XQueryDeviceState(3)が使えるけど、 普通のttyアプリの場合は
そもそも、文字入力しかないわけで、キーを押したとか離したとかはわかりません。


107:デフォルトの名無しさん
08/11/18 18:18:04
>>105
mingwでWinAPIを使うかcygwinにxを入れてXlibを使うか。
このスレ的には、最後の行はスレ違い。

108:デフォルトの名無しさん
08/11/18 18:33:04
そういうときはマルチプラットフォームな低レベルライブラリのソースを読むと吉
例えばSDLとかな

109:101
08/11/19 23:34:15
もうちょっと調べてみたらyum使えそうですね。ありがとうございましたm(_ _)m

110:デフォルトの名無しさん
08/11/20 00:57:38
MinGWを使用して.cのファイルをコンパイルしたら
warning: unknown escape sequence
とでるのですが解決方法をご教授ください。

111:デフォルトの名無しさん
08/11/20 01:11:20
>>110
入出力の文字エンコードを明示的に指定してみては?
例えば、
gcc -finput-charset=CP932 -fexec-charset=CP932 -o hoge hoge.c
みたいな感じで。

112:デフォルトの名無しさん
08/11/20 01:13:30
>>111
ありがとうございます。
やってみます。

113:デフォルトの名無しさん
08/11/26 19:41:13
インストール時に出来たファイル(http or ftp)は削除していいのかな?

114:デフォルトの名無しさん
08/11/26 20:18:33
更新のときに便利だから消さないほうがいいね。
まぁ、それまでアーカイブしてしまってもいいかも試練が

115:デフォルトの名無しさん
08/12/05 07:44:39
-march=amdfam10でコンパイルしたバイナリがCore2でも動くのは何で?
3DNow!とか使えないはずなのに。

116:デフォルトの名無しさん
08/12/05 15:55:06
>>115
使えないインストラクションを使わないバイナリなら動くわね。
例えば極端な例だけど、main()の中身がないとか。

117:デフォルトの名無しさん
08/12/05 15:59:44
そーなのかー
ちなみにx264なんだけど使わないのか。


118:デフォルトの名無しさん
08/12/05 22:34:02
gccで勝手にSIMD命令使うのは、-mfpmath=sseとしたときの実数演算だけ。
しかも同時にひとつの演算しかしない。

119:デフォルトの名無しさん
08/12/06 23:29:57
それ以前に本家gccは3DNow!を使ってくれるのか?
AMDの改造gccなら使ってくれるかもしれないけどさ

120:デフォルトの名無しさん
08/12/06 23:54:13
-m3dnow
-m3dnowa

121:デフォルトの名無しさん
08/12/19 03:21:36
すいません質問させてください。
Delphiで作ったdllをMinGWでコンパイルしたプログラムから使ったりすることはできるのでしょうか??

122:デフォルトの名無しさん
08/12/19 10:23:26
>>121
できる。
URLリンク(www.geocities.co.jp)

123:121
08/12/19 15:54:13
C++Builderの記事のようですが、MinGWの場合でも同様ということですよね?
ありがとうございます!

124:デフォルトの名無しさん
08/12/23 22:26:51
すいません教えてください。
gnustep-base-1.16.5 をビルドしていたところ、
gcc-4.4.0-20081128 で internal compiler error: in spill_failure
というのが出たので -E オプションで問題に遭ったコードを抽出しようと考えたのですが、
6292 行もあってどこから手をつけるべきか途方にくれています。
コンパイラが指摘する発生箇所には4行の関数定義があるので、
ここに無関係なコードを再帰的に除外するような便利なツールがあれば教えてください。


125:デフォルトの名無しさん
08/12/24 05:37:47
質問です。
xlslibというexcelファイル入出力のライブラリのビルドに
チャレンジしているのですが、もう一歩というところで行き詰っています。
このサイトの方法でやってます。
URLリンク(newmonic.blogspot.com)

エラーは、makeの時に
g++.exe: C:/FreeWare/msys/1.0/local/lib/libxls.0.dylib: No such file or directory
g++.exe: unrecognized option `-single_module'
と出力されます。
これの解決方法がわかりません。ご教授ください。

126:デフォルトの名無しさん
08/12/24 06:21:46
ちゃんと英語読んだか?
まさか本文無視してコマンドだけ入力したなんてアホなことはしてないよな
その記事には「libtoolを入れんとlibxls.0.dylibが見つからんで失敗するでェ」
と書いてあるぞ?
(特にmainC.cのコンパイルで失敗すると書いてあるが、
お前はそこの情報すら省いて恣意的にエラーメッセージを切り貼りしてやがる)

127:125
08/12/24 08:37:54
>>126
すいません、急いで書いて、情報が少なすぎました。
一応最新のlibtoolを入れろと言ってるのだと解釈して、
libtool-2.2.6aをインストールして実行した結果です。

128:デフォルトの名無しさん
08/12/24 10:54:28
MinGW + MSYSのインストール方法
URLリンク(www.geocities.jp)

129:デフォルトの名無しさん
08/12/24 21:19:02
>>128
もちろんこのようなインストールはしてるんですが

130:デフォルトの名無しさん
09/01/05 10:09:24
gcc 4.4っていつ出るの?

131:デフォルトの名無しさん
09/01/05 10:31:35
ここで不確かな情報得るより、公式行けばいいんじゃね?

132:デフォルトの名無しさん
09/01/14 18:20:33
mingw-w64が腐ってる

133:デフォルトの名無しさん
09/01/14 18:32:40
不具合報告を一切しない屑は黙って使ってなさい

134:デフォルトの名無しさん
09/01/14 19:48:51
不具合報告をするとボコボコに叩かれるやん

135:デフォルトの名無しさん
09/01/14 21:27:23
>>132
ほとんどの場合、腐ってるのは自分自身です

136:デフォルトの名無しさん
09/01/18 10:54:43
ほらね

137:デフォルトの名無しさん
09/01/18 11:00:07
不具合報告というのは、

どういう環境で
どういうことをしたら
どういう不具合が出た

ということを書くのであって、

は不具合報告ではない。

138:デフォルトの名無しさん
09/01/18 12:00:22
不具合報告する前から叩かれてるw
googleが直そうと企画しなければwin版死んでたな

139:デフォルトの名無しさん
09/01/18 13:55:51
vista64上のcygwin-Xでemacs (Xemacsじゃないほう)が動いている人います?
ググるとdllが不足していてもメッセージが出ずに固まるというところまではわかりました。
不足しているdllってのが見つかったサイトによってまちまちだったので、
emacs.exeをdependency walkerに放り込んで、使っているdllを調べて、足りないものを全部入れたのに動きません。

140:デフォルトの名無しさん
09/01/21 00:08:05
MinGWで、コンパイル時に改行コードをLFに指定するにはどうすればいいでしょうか?
既定ではどうもCR+LFになっているようで。

141:デフォルトの名無しさん
09/01/21 01:25:58
>>140
何の改行コード?


142:迷える中年牛
09/01/23 11:01:43
私は、mkvtoolnix-2.4.2をWindowsXpProSp3にインストールした
cygwinでmakeしようとしました。
mkvtoolnix-2.4.2に含まれていた「README.Windows.txt」を
参考にして必要なライブラリーはmakeとmake installは出来ました。
しかし、肝心なmkvtoolnix-2.4.2のmakeで以下の様にコンパイル
エラーが発生してしまいます。
ーーーー
CXX src/merge/mkvmerge.cpp
In file included from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/deque:71,
from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/stack:70,
from src/common/mm_io.h:20,
from src/common/chapters.h:22,
from src/merge/mkvmerge.cpp:46:
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/stl_deque.h: In member function `void std::_Deque_base<_Tp, _Alloc>::_M_initialize_map(size_t)':
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/stl_deque.h:446: error: expected unqualified-id before '(' token
以下省略
同じ内容のエラーが以下のファイルでも発生しています。
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/bits/deque.tcc:
ーーーー
グーグル先生に聞いたところ、同じ様なエラーはマクロで「max」や「min」を
定義したときに発生する場合が有るようですが、私には見つけられなかったです。

どこをチェックすべきなのかのヒントでも頂ければと思い書き込みしました。
どうぞ、よろしくお願いします。



143:デフォルトの名無しさん
09/01/23 15:36:14
自分がコピペしたエラーメッセージを、穴が開くくらい良~~~く見ろや

144:迷える中年牛
09/01/24 17:52:13
>>143
アドバイスありがとうございました。
頭を冷やして見直しました。
エラーの発生場所が標準のライブラリーの中の為に、
ライブラリーは正しいと思いました。
これは「mkvtoolnix-2.4.2」の中にエラーの引き金となる
「max」のマクロがあると考えて検索したが見つけられなかったです。
そこで、アドバイスにしたがって標準のライブラリーの
「stl_deque.h」の446行を見たところ、「std::max」の記述がありました。
結局、<windows.h>をインクルードするとmin,maxマクロが定義される
為にエラーを引き起こしたようです。

今回は、「#include <windows.h>
」の前に「#define NOMINMAX
」の行を
追加してエラーを回避できました。
ありがとうございました。


145:デフォルトの名無しさん
09/01/24 17:58:48
迷える中年牛が1つレベルアップしました。

146:デフォルトの名無しさん
09/02/01 22:16:42
質問させてください。
MinGWインストールするとbinディレクトリにg++とmingw32-g++ と、g++コンパイラっぽいのが二つあるんですが、これってそれぞれどう違うんでしょうか??

147:デフォルトの名無しさん
09/02/01 22:28:26
同じだよ。
短い名前、長い名前。違いはそれだけ。

148:デフォルトの名無しさん
09/02/01 23:02:15
あ、そうなんですか。だったらエイリアスとして最初に設定されるようにしておけばいいのに・・
ありがとうございましたm(_ _)m

149:デフォルトの名無しさん
09/02/01 23:49:55
Windows ではシンボリックリンクが無いからな。
この場合はジャンクションでかわりになりそうな気もするけど、
シンボリックリンクとジャンクションは完全に同じわけでは無いし。
色々と事情はあるんだろう。

150:デフォルトの名無しさん
09/02/02 00:04:03
gccが使ってるのはハードリンクだし、NTは昔からハードリンクをサポートしてる。


151:デフォルトの名無しさん
09/02/02 00:10:50
OSっつーかファイルシステムだよな
NTFS前提

152:デフォルトの名無しさん
09/02/02 00:11:10
更に脱線すると、Vistaからシンボリックリンクがサポートされてる。

153:デフォルトの名無しさん
09/02/02 00:51:02
シンボリックリンクできるけど、mklinkがcmdの内部コマンド?なのか、
cygwinやmsysじゃ使えないんだよね。
わざわざcmd起動してリンク作ってるけど。

154:デフォルトの名無しさん
09/02/02 22:07:53
内部コマンドだよ
mklink.exeなんて記事書いて飯喰ってるのも居るがな

155:デフォルトの名無しさん
09/02/09 09:57:53
Cコンパイラのライブラリの仕様ってどこで調べられますか?

156:デフォルトの名無しさん
09/02/09 11:33:11
>>155
そのライブラリの仕様書・マニュアルなど。


157:デフォルトの名無しさん
09/02/09 13:25:21
GCCの場合それはどこで手に入りますか?

158:デフォルトの名無しさん
09/02/09 13:52:44
インターネット

159:デフォルトの名無しさん
09/02/09 14:05:25
インターネットのどこのサイトでしょうか?

160:デフォルトの名無しさん
09/02/09 14:20:34
URLリンク(letmegooglethatforyou.com)

161:デフォルトの名無しさん
09/02/09 14:38:51
どうもありがとうございました

162:デフォルトの名無しさん
09/02/09 19:38:17
>>157
使っているライブラリによって異なる。
たとえばGCC自身はprintf()の実装は提供してない。UNIX上で使っている
ならそのOSのマニュアルだし、MingwだったらMicrosoftのサイトを見る
べき。


163:デフォルトの名無しさん
09/02/10 02:44:36
XPで使ってたCygwin+MinGWの環境をそのままWin7に持ってきたんですが
gitとかpatchとかコマンドが全然動きません。
どうしたらいいんですかこれ…

164:デフォルトの名無しさん
09/02/10 12:03:09
>>163
なんかエラーが出るの?

165:デフォルトの名無しさん
09/02/10 13:51:08
Pathを通して無いだけじゃないの
つか、βのWin7の事までしらねーよ

166:デフォルトの名無しさん
09/02/10 14:24:45
どうしたらいいかと言えば、自分の作業に問題が無いか見直し、それでもだめだと確信できるなら、
問題を切り分けて、Windows 7 βのフィードバックを入れるか、
CygwinかMinGWにバグ報告を送りつけるかに決まっているだろう。

167:デフォルトの名無しさん
09/02/10 14:33:59
レジストリにあるマウント情報とかも当然移動したんだよな

168:デフォルトの名無しさん
09/02/10 15:22:37
URLリンク(bitwalk.hp.infoseek.co.jp)
を参考にLinux(Fedora10)にMinGWのビルド環境を構築しているのですが
gcc(configure --target=i386-mingw32)のmakeに失敗します
binutilsは2.19、gccは3.4.6です

Linux上でMinGWのクロスコンパイル環境の構築に成功している人はいますか?
他に何か必要な物とかあったら教えてください。よろしくお願いします

169:デフォルトの名無しさん
09/02/10 16:24:06
>>168
F10なら、mingw32のパッケージがyumでインストール出来るよ。

170:デフォルトの名無しさん
09/02/18 02:25:46
msysで足りないコマンド類は基本的にcygwinから引っ張ってくるものなんですか?

171:デフォルトの名無しさん
09/02/18 02:35:26
cygwin1.dllに依存してるのはそのままじゃ使えないと思う。

172:デフォルトの名無しさん
09/02/18 02:44:41
>>170
基本的にはmsysでsourceからbuildするものだけど、pathやバージョン古くて通らないのも沢山ある。
そういう時は、cygwinか、coLinux等でcross compile環境を作ってbuildする。
MSYS-bashのpath周りをもっと柔軟にすれば、通りやすくなるのかもねえ

173:デフォルトの名無しさん
09/02/20 16:42:04
g++ (GCC) 3.4.5 (mingw-vista special r3)
new が argc 直前のアドレス取りやがるんですが
私はどんな壊し方をしたのでしょう?



174:173
09/02/20 17:15:26
×argc → ○argv 直前のアドレス

175:デフォルトの名無しさん
09/02/20 18:15:29
意味がわからん

176:デフォルトの名無しさん
09/02/20 18:27:32
main (int argc,char **argv){
int* buf = new int [100];
 ↓ が何故か
int* buf =new ( argv - 1) int [100];

177:デフォルトの名無しさん
09/02/20 21:58:33
>>176
「が何故か」ってそれをどうやって確認したの?

178:デフォルトの名無しさん
09/02/21 00:30:12
無料なのでMinGWでウィンドウズのアプリを作るのを勉強しようとしたら説明してるサイトが見つからない。
これはどうしてなのでしょうか?
MinGWのインストールやコンパイルを説明してるサイトは沢山あります。
MinGWはインストールして他人のソースをコンパイルして満足するだけのもののような感じを受けます。

179:デフォルトの名無しさん
09/02/21 01:25:09
なぜならMinGWでもVisual C++でもBorand C++でもWindowsアプリの作り方は同じだから。
MinGWの解説をしているとこは、MinGW特有の部分の解説に徹しているだけのこと。

180:デフォルトの名無しさん
09/02/21 01:27:23
倍精度の浮動小数点演算を多用する、レイトレーサの一種を書いてます。
VC++ 2008 Express Edition と icc 9.0 では問題なく動作するのに、
MinGW の GCC だと計算結果がおかしくなります(レイが想定外の場所に
飛んでいってしまう)。GCC の3つのバージョンを試しましたが変化なし。
gcc version 3.2.3 (mingw special 20030504-1)
gcc version 3.4.5 (mingw-vista special r3)
gcc version 4.3.0 20080305 (alpha-testing) mingw-20080502 (GCC)
実行環境は XP SP3 です。何かちょっとしたことを忘れている気がするん
ですが、アドバイスをいただけませんか。よろしくお願いいたします。

>>178
基本的に VC++ やなんかと同じ要領で Win32 API を使ってアプリからでは。
Win32 API を使ったプログラミングは情報がたくさんありますよね。
Unix 環境のつもりでプログラムを書き始めるとライブラリ関数があれも
これも無くて泣きを見ます。例えば
・GUI は Win32 API で手書きするか Win32 環境で使えるツールキットを使う。
・gettimeofday() が無いので計時には Win32 の QueryPerformanceFrequency(),
QueryPerformanceCounter() を使う。
・共有ライブラリの動的リンクは dlopen() ではなく LoadLibrary() でやる。
・OpenGL を使うには Win32 固有の wgl 関数群を用いる。
・Win32 に移植された pthread ライブラリを使うのでなければ
pthread_create(), pthread_mutex_init(), pthread_mutex_lock() ではなく
CreateThread(), CreateMutex(), WaitForSingleObject() を使わないといけない。
といった具合です。Win32 環境のつもりで情報を集めるとよろしいかと。


181:デフォルトの名無しさん
09/02/21 01:49:43
>>180
そこまでするならまずはCygwin使えよ。
というのはともかく、178はUnixから来たのではなく
本当にここから始めようとしているように思った。

182:デフォルトの名無しさん
09/02/21 01:53:52
ここで、VC++ Express(無料)を薦めるのはなしか

183:デフォルトの名無しさん
09/02/21 02:09:27
>>180
URLリンク(homepage1.nifty.com)

184:デフォルトの名無しさん
09/02/21 02:35:43
>>183
レスありがとうございます。
このスレの Part 3 で _controlfp のことを教えていただいたのは私です。
カキコの直後まで失念しておりました。
_controlfp(_PC_64, _MCW_PC) だと GCC と ICC では NG、VC++ では OK で
_controlfp(_PC_53, _MCW_PC) だと3つのコンパイラすべてで OK でした。
また髪の毛が減ってしまいました。本当にありがとうございました。


185:デフォルトの名無しさん
09/02/21 03:00:03
個人的な感想ですけどVC2008EEはなかなか良かったよ。
この茨の道を突き進むよりも初心者はVCのほうがいいと思われ。

186:デフォルトの名無しさん
09/02/21 04:16:44
>>184
あの思うですけど、そこまでしてネイティブ・コンパイラにこだわる意味はあるんですか?
たぶん良くあるプログラミングの落とし穴だと思うんですが、
計算のロジック部分はジャバやCシャープにして、描画やレンダリングのところだけネイティブ(Cコンパイラ)にすれば、髪の毛もフサフサのままですよ。
もしCやフォートランしか知らないというなら、あなたの勉強不足が原因なので自業自得なんですけど。

187:デフォルトの名無しさん
09/02/21 04:35:25
>>185
んだな
多少操作やアプリ依存の用語を覚える必要はあるが、
理解度や開発効率を考えると初心者はあれでおk

なのに、何で某ランドがいまだにはびこっているのかw
mingw等はマルチを意識すると選択肢として出てくるが、
某ランドは選ぶ理由がさっぱりわからん

>>186
用途が逆な気がするが・・・

188:デフォルトの名無しさん
09/02/21 04:53:02
>>187
だよなぁ俺も逆だと思うよ

189:デフォルトの名無しさん
09/02/21 05:04:17
仮想マシンが手軽になってからは、個人的にはmingwの出番が減ったな

190:デフォルトの名無しさん
09/02/21 05:08:45
そうか?
ウェブアプリとかビジネスロジックといわれる部分は、ハード特有じゃないのでジャバとかのほうが向いてると思うんだが・・
逆にダイレクトXとかネットワーク・メッセージ機構の言語外(ハード部分)はMSとかジャバでもいいけど、例えばジャバに「ウインドウのハンドルを取得するAPI」が用意されてないと結局ネイティブAPIを使うから、ネイティブ向けのコンパイラが必要になってくる。

というか、そこまで計算のロジック(アルゴリズム)を速くしてこだわってるなら、一つのコンパイラに徹するべきであって、GCC使ってみたりBCCやICC使って浮気する必要はないと思うんだけどなあ。
やってみれば分かると思うけど、結局早くて効率的なロジックをフォートランとかICCで実装したところで、ウインドウズならDLL呼び出し関数呼び出しのコストで相殺されるからあまり関係なくなるんだけど。
どういうの作ってるかわからないけど、PC並に複雑な機構のOSだと、そもそもロジックが速いとか、プリミティブ型(double)の演算誤差がどうとかあまり関係ないんじゃない?

191:デフォルトの名無しさん
09/02/21 05:19:31
レイトレを書いてるらしいから、数値計算メインで
DLL呼び出し関数呼び出しのコストはほとんど無いような
思いっきりネイティブ向けの希ガス

192:デフォルトの名無しさん
09/02/21 05:53:25
レイトレはやったことないけど、そのロジックをストリーミング用のプログラミング手法(GPUとかCELL)に持ち込めれば、100倍ぐらい速くなるんじゃないか?
昔のままネイティブAPI(OSコール)てんこもりでソースもforとifだらけってのでも別にいいけど、画像解析じゃなくてただのレンダリングだし、そういうプログラミング・スタイルはもう流行らないと思う。
どっちにしてもネイティブ・コンパイラ使ってるくせに気軽に浮気するような素人じゃろくなもんじゃないだろうけど。

193:デフォルトの名無しさん
09/02/21 07:45:25
ここ10スレ位の書き込みは酷いな。

複数のコンパイラを通すのは、移植性やソースをクリーニングする為の超基本。
限られた精度の計算とloopが主なレイトレで、javaとかfortranて何のネタ?
borlandは1番parserの出来が良いので、初心者の多い2ちゃんではお薦め。

windowsのgccにもgettimeofdayはある。ぐぐって出てくるし、
unofficialな自宅の4.3.3でも通った。
iccは知らないけど、VCってdefaultでSSE使って無かったっけ?
俺なら計算結果をファイル出力してdiffするけど。
ところでsjljなgccでレイトレって凄く遅くない?Dwarf2も試そうよ。
libraryコンパイルし直すのに少し苦労するけど。

194:デフォルトの名無しさん
09/02/21 09:39:57
確かにbccは警告が(他と比べて)適切という印象はある。

195:デフォルトの名無しさん
09/02/21 10:43:04
ISO-Cに準拠したいのか、よりネイティブ向けに特化したプログラムを作って速度や効率を稼ぎたいのか、君は何をやりたいのか意味不明。
超基本は、ISO-Cに準拠して君の満足であるかどうかではなくて、仕様や要求を満たしたプログラムであるかどうかじゃないか?
それこそ計算部分のロジックとネイティブのハード部分を分離するような設計(使用)をすることのほうが基本だと思うが、どうだろう。
昔から構造化プログラム(モジュール化)やオブジェクト指向など方法論があるわけで、
君の主張するプログラミングスタイル(複数のコンパイラを通すだと?!)はまったく流行らないと思うが?
君のような宗教観では、どうでもいいところに神経使ってばかりで、さらに髪の毛をなくしていくんだろうけどw

196:デフォルトの名無しさん
09/02/21 10:49:24
何だか急に芳ばしくなってきましたね。

197:デフォルトの名無しさん
09/02/21 11:03:33
>>193
ソースで配布するんですか?
windowsだとハードが常に進化するんで、そのときのハードにあったAPI(DirectXなど)を使い、
そのプログラムに一番最適なコンパイラ(Cに限らない)を使ってDLLなどのバイナリで配布する方式の方が受けると思うんですけど・・・

198:デフォルトの名無しさん
09/02/21 11:07:36
>>193
もしかして「Javaは遅い」とかを信じちゃってるJIT以前のオジサン?w

199:デフォルトの名無しさん
09/02/21 12:52:03
JAVAがどれだけ速くなってもC以下なのは変わらないだろ。


200:デフォルトの名無しさん
09/02/21 14:30:17
>>199
実行時コンパイルだからこそできる最適化というのもあるんだよ。
まー、たいていはCの方が速いけど。



201:デフォルトの名無しさん
09/02/21 14:51:50
そのプルグラムが実行時のハード構成SSEなどに合わせて動的にコンパイル(JIT)されるようになればそうともいえないんじゃない?

202:デフォルトの名無しさん
09/02/21 17:09:22
>>201
それはいったい何年後の話だ?

203:デフォルトの名無しさん
09/02/21 18:27:33
>>200
実行時にコンパイルすると、どこがC(アセンブラ)より速くなるの?

204:デフォルトの名無しさん
09/02/21 18:30:56
MS謹製CLI戦略は将来の自動並列化でJavaに置いて行かれるのを恐れた為なんだぜ?

205:デフォルトの名無しさん
09/02/21 18:33:01
ハードウェアの構成にあわせてアセンブルしてくれたほうが断然早いね(笑)

206:デフォルトの名無しさん
09/02/21 18:55:35
香ばしい流れ

207:178
09/02/21 19:01:52
>>179-187
レスありがとうございます。
Unixはほとんど知らないからMinGWを使う利点はあまりないないのかな。
MinGWも同じということはWinMain()とかで組めるのかな?
でもwindowsのアプリを作るにはVC2008EEがよさそうですね。
そうします。おじゃましました。


208:デフォルトの名無しさん
09/02/21 19:21:36
1年前のJava6u10でこのくらい。まだ先は長い。
URLリンク(d.hatena.ne.jp)

209:デフォルトの名無しさん
09/02/21 20:05:47
>>207
MinGWはあくまでビルド環境でしかないよ
俺は基本VC++EEで管理&コーディングして、ビルドはどちらでもできるようにしてる
どちらにしろリソースエディタは別に必要だし

210:デフォルトの名無しさん
09/02/21 21:31:14
レイトレなんて生成終了までAPIなんてほぼ関係なくて、ひたすら演算だけじゃん
環境依存部分をネイティブで個別実装するのがいいとか、きちg(ry
なんか、レイトレ→3DCG→DirectXとか思ってそう

あとGPGPUでレイトレすればいいって環境を選びすぎるし、
もしレイトレの学習が目的なら、不純物が増えて意味ないだろ

これは……釣られたのか!?

211:デフォルトの名無しさん
09/02/21 22:08:18
ジャバと書いてるだけで正直胡散臭いし
長文な上に、どの主張も「だと思うんだけどなあ」「じゃない?」とか
曖昧な表現で逃げてる時点で、な

212:デフォルトの名無しさん
09/02/21 22:08:42
演算の途中経過とかをリアルタイムに見たいんじゃないの?
標準的な画像や動画フォーマットに出せばAPIはいらんよなぁ,確かに

213:デフォルトの名無しさん
09/02/22 01:19:53
>>208
コウスケちゃんのブログなんてあったんだw
さすがに日本人ハッカーだね

214:デフォルトの名無しさん
09/02/22 01:28:20
>>210
>なんか、レイトレ→3DCG→DirectXとか思ってそう

この流れは3Dであってレンダリングと関係ないと思うんだが。
DirectXを未だにゲーム用のAPIとか考えちゃってるの?
ひたすら演算だけでネイティブに依存する必要がないなら、ジャヴァとかC#でいいんでない?
なのにどうしてこだわるんだろう。どうせスピードを求める君のポリシー(笑)なんだろうけど。

215:デフォルトの名無しさん
09/02/22 01:44:31
なんで演算メインでJavaやC#使うんだよ?バカなの?死ぬの?

216:デフォルトの名無しさん
09/02/22 03:24:01
ちょっと待て、偽者が混じって楽しんでるだろ、おいw

217:デフォルトの名無しさん
09/02/22 09:17:22
その前に本物ってどれ?
246みたいなのは本気で言ってるの?
なんでこんなのがtech板に居るの?

218:デフォルトの名無しさん
09/02/22 09:45:52
コンパイラぐらい金出して買えよ
いつまでもオープンソースにいると髪の毛なくなっちゃうぞ

219:デフォルトの名無しさん
09/02/22 11:10:04
>>246がどんなことをマジで言うのか期待

220:デフォルトの名無しさん
09/02/22 12:19:20
>>219
何言ってんの???

221:デフォルトの名無しさん
09/02/22 12:44:03
少しは考える力をつけろ。

222:デフォルトの名無しさん
09/02/22 14:09:21
>>218
オープンソースと髪の毛は関係性が薄い
ツーカ、オプソ界にいるやつはみんなフッサールだ
問題なのはヒゲ

223:デフォルトの名無しさん
09/02/22 15:55:33
>>218
オープンソース以下のコンパイラが多すぎるからなあ

224:デフォルトの名無しさん
09/02/23 04:58:13
オープンソースのコンパイラは実質GCCのみじゃないの?何と比べてるかわからんが、糞はお前w

225:デフォルトの名無しさん
09/02/23 06:37:55
オープンソースなコンパイラはそれなりにあるが、
実質gccのスレなので、gccと仮定しても、クソという
理由が見いだせない。この意味不明な論理展開を行う
>>224には、VIPがお似合いだろう。これは224の
書き込み時間からも、容易に想定可能である。

226:デフォルトの名無しさん
09/02/23 07:09:15
>>225
はいはい。能書きはそれぐらいにして早いところVIP板へ行ってくらはい

227:デフォルトの名無しさん
09/02/23 07:59:06
結局なんの説明も出来ない無職か

228:デフォルトの名無しさん
09/02/23 08:05:03
>>224って>>218?
まずはgccより高機能な市販コンパイラを出して貰いたい

229:デフォルトの名無しさん
09/02/23 08:33:24
cygwinってCPU強化したら速くなんの?
configureが遅すぎて泣ける

230:デフォルトの名無しさん
09/02/23 08:42:41
手持ちのCentOS4やUbuntuと、大差ない気がしたんだけど、
大きなファイルなら差が出るのかな。差があるとしたら
I/Oまわりだろうねえ

231:デフォルトの名無しさん
09/02/24 23:21:31
>229
configure が遅い理由は cygwin 特有のプロセス起動とファイル I/O にかかる種々の変換だとか前処理の
コストだと思うんで、速くはなるだろう。

232:デフォルトの名無しさん
09/02/25 12:27:11
cygwinのファイルI/Oは遅いよ。ストリームI/Oをバッファ入出力の段階でシミュレートするのではなく
関数レベルでシミュレートしているようで、fgetc()をループで回すだけでも結構差が出る。

>>228
iccは高性能だけど、高機能と言うのはどういう尺度?
gccを否定する気はさらさらないけれど、最近のx86系CPUを使いこなすには力不足なのは否めない。

233:デフォルトの名無しさん
09/02/25 13:04:58
msysをつかえばいいじゃない。
大概のことはmsysでカタがつくでしょ。

234:デフォルトの名無しさん
09/02/25 13:10:53
msysはメモリーリークが酷いから嫌

235:デフォルトの名無しさん
09/02/25 14:02:34
>>234
kwsk

236:デフォルトの名無しさん
09/02/25 21:06:45
>>234がお漏らしプログラム作ってるだけっていう落ち

237:デフォルトの名無しさん
09/02/25 21:21:24
リークと違うけど、Qt4コンパイルしてて、なんのエラーも
出てないのに、mingw32-makeがエラーで止まる事ならあった。
Dwarf2でbuildしたgcc4.3.3が原因の可能性も高いが。
ああ、msys全然関係無かったねw

238:デフォルトの名無しさん
09/02/25 21:53:46
Qt4はメモリ4Gあろうがページファイル1G以上用意しないと確実にこけるね

239:デフォルトの名無しさん
09/03/01 01:00:40
MSYS+MinGWでMKVtoolnixコンパイルしてて、動くバイナリはできんたんだけどちょっと気になってることがある。
公式で配布されてるバイナリにはregex2.dllがあるけど、自分のにはない。
何かのライブラリがスタティックリンクになってるんだろうけどどれかわからない。
名前からして正規表現だろうからboostかと思ったけどlink=sharedにしてコンパイルしてもそんなdllない。
何のライブラリか教えてください。

240:デフォルトの名無しさん
09/03/01 05:04:14
glibc
URLリンク(gnuwin32.sourceforge.net)

241:デフォルトの名無しさん
09/03/01 11:27:42
APIを使わないDLL遅延バインドのやり方がわからん。

242:デフォルトの名無しさん
09/03/01 18:42:21
>>240

でもこれ突っ込んでもやっぱりregex2.dllは使われないな。何でだろう…

243:デフォルトの名無しさん
09/03/01 21:25:45
>>241
なぜAPIを使うのがいやなの?

244:239
09/03/02 01:36:26
公式のバイナリをDependency Walkerで調べてやっとわかった。
libmagicの依存ファイルだったのか。
libmagicはうまくコンパイルできなかったらバイナリ取ってきてたからそのせいか。

245:デフォルトの名無しさん
09/03/05 18:41:39
ちょっと前に

「gccの4.x.x系は3.4.5よりもWindows環境への対応が悪い」

と聞いんだが、未だに悪いの?
俺が興味あるのはg++だけだが、g++に限ってもそう?。



246:デフォルトの名無しさん
09/03/06 05:19:57
何をして対応が悪いといっているのか不明なのでなんとも・・・

247:デフォルトの名無しさん
09/03/06 11:34:41
MinGW
URLリンク(sourceforge.net)

ここから src 以外の tar を全部ダウンロードしたんでしけど、
解凍したら同じ名前のファイルが重複しているんです。
たとえば bin/bash.exe なら
bash-3.1-MSYS-1.0.11-1.tar.bz2    bash.exe 607,744 バイト
msysCORE-1.0.11-20080826.tar.gz  bash.exe 911,646 バイト
の両方に入っています。
いったいどちらの bash.exe を取ればいいのでしょう?
ほかにも tar.exe などなど、重複がいっぱいあります。
どれを入れればいいんですか?
ヒヨコのオスメスみたいに、ひとつひとつ手作業で選別せにゃいかんのですか?

248:デフォルトの名無しさん
09/03/06 11:46:55
バージョン1.0.11

バージョン1.0.11-1
のサイズが違うと何か問題ある?

249:デフォルトの名無しさん
09/03/06 12:33:53
知らないならレスしないでください

250:デフォルトの名無しさん
09/03/06 13:32:28
だから、リリースバージョンが違うものなんだから、中身が違って当然だろうが。
これで意味が通じなかったら、Technological Previewバージョンを各ソフトごとにとってくるなんてやめて、
おとなしく安定バージョンをパッケージで入れろ。


251:デフォルトの名無しさん
09/03/06 13:35:06
だから知らないならレスしないでください

252:デフォルトの名無しさん
09/03/06 13:35:57
ほかに誰か知ってる人はいませんか?

253:デフォルトの名無しさん
09/03/06 14:06:09
>>251, 252
くだらない悪ふざけはν速にでも行ってやれや。

254:デフォルトの名無しさん
09/03/06 15:32:21
質問: どちらが新しいんですか?
答え: サイズが違うと何か問題ある?

頭おかしいの?

255:デフォルトの名無しさん
09/03/06 15:45:13
だから、リリースバージョンの見方もわからんバカは
安定版のパッケージを入れろよ。
バージョンわからん奴がTechnological Previewをいれて何の役に立つんだよ。

256:デフォルトの名無しさん
09/03/06 16:18:23
>>254
とっとと失せろ、ゴミクズ

257:デフォルトの名無しさん
09/03/06 17:47:47
ニートタイムに喚くなよ
見苦しいな

258:デフォルトの名無しさん
09/03/06 18:21:19
で?
けっきょく、どれが新しいかわからないんだろ?
知らないならレスすんなよ。
あんたに質問したんじゃねーーーーーーーよw

259:デフォルトの名無しさん
09/03/06 19:01:39
ファイルの日付も読めない奴に使える訳もないな

260:デフォルトの名無しさん
09/03/06 19:39:43
>>258
瞬時にリリースバージョンくらいわかりますが、何か?
バージョンを読みとってるからこそ>>248なのだが。
お前は、自分が書いたものと248をみてもまだ理解できないわけだろ?
だから>>250の安定版を入れろと言うことなんだが。

Technological Previewってのは人柱用なんだぜ。
なぜあえてこれを入れたいんだ?
バカだからか?


261:デフォルトの名無しさん
09/03/06 20:21:43
わかったわかった。俺が悪かった。ここはひとつ、俺がオトナになろう。

で、リリースバージョンの見方をおしえてください。おねがいします。

262:デフォルトの名無しさん
09/03/06 20:23:22
事情を説明いたしますと、
安定版が安定しないから、試しに全部新しいのにしてみようと思っただけです。
それで安定するか、しないか、検証してみるだけです。
「問題の切り分け」 を死体のです。

263:デフォルトの名無しさん
09/03/06 20:33:45
>>261
逆に煽り返されたりして、出来もしないくせに下手なことしないほうがいいよなぁ

264:デフォルトの名無しさん
09/03/06 20:46:50
>>262
おとなしくVC++いっとけ

265:デフォルトの名無しさん
09/03/06 20:55:24
ぜんぶ 1.0.11 なので、どれが新しいのかわかりません。
でも確実に、中身が違うんです。

266:デフォルトの名無しさん
09/03/06 21:03:19
すこし分かりかけてきた

1.0.11-1
1.0.11-20080826

これのどっちが新しいか。それさえ分かれば・・・
1 と 20080826 って、どっちが新しいんですか?

267:デフォルトの名無しさん
09/03/06 21:14:49
なんか迷宮に迷い込んでいるような気がするなぁ・・・
問題の切り分けをするのであれば、安定版のどの部分が安定
しないのか切り分けるのが先では無いだろうか。
全部最新版に差し替えて安定したところで、どの部分が問題
だったかは結局分からないのでは。

268:デフォルトの名無しさん
09/03/06 21:20:20
パッケージとバラを同じ項目においておきながら、
バラの方が古いなんてアホな管理をするやつがいるとも思えんが。

269:デフォルトの名無しさん
09/03/06 23:37:06
つーかさ、不安定があるのなら、どういう不安定なのか書けよな~
他のユーザーのためにもなる。

270:デフォルトの名無しさん
09/03/07 00:07:40
俺は MSYS のデバッグしてんじゃねぇぞ。
どの部分が問題だったかは結局分からなくても
安定して使えさえすればOKなんだよ。

271:デフォルトの名無しさん
09/03/07 00:43:26
>>270
だからよぉ、他人にもどう不安定か情報出せよ。
自分だけ情報を得られたらそれで桶かよ。
マサにカスだな

272:デフォルトの名無しさん
09/03/07 00:46:02
>>270
問題の切り分けをしたいとか言いながらちゃぶ台ひっくり返すし、
ここまでMSYSが問題なんだとは一言も話をしていないし、
しかも大人のふりしたと思ったらまた退行しているし。

273:デフォルトの名無しさん
09/03/07 01:34:15
>>271-272
ゴミの相手するなよ

274:デフォルトの名無しさん
09/03/07 01:48:09
新しいのと古いのと見分け方を聞きたかっただけなんだが・・・

275:デフォルトの名無しさん
09/03/07 01:48:41
もったいぶらずに教エロ

276:デフォルトの名無しさん
09/03/07 11:16:12
もったいぶらずに着エロ
URLリンク(blog-imgs-27.fc2.com)

277:デフォルトの名無しさん
09/03/07 14:50:19
>>276
ありがとうございます。おかげさまで解ケツしました。

278:デフォルトの名無しさん
09/03/13 22:53:09
g++ってワイド文字列環境はまともになってる?

g++ (GCC) 3.4.5だと、
std::wcoutって何だか分かりません見たことも聞いたこともありません
的なコンパイルエラーがでちゃうんだよね。


279:デフォルトの名無しさん
09/03/14 01:43:37
>>278
今は無理。まともにサポートできる見通しが立たないから宣言自体が無効化されてる。

今公開テスト中の Cygwin 1.7 には wchar_t 関連の C 標準関数がひととおり実装されてるんで、
その上で動く g++ なら使えるようになるかもしれない。

280:デフォルトの名無しさん
09/03/14 03:23:49
>>278
この4.3.3使え
URLリンク(www.tdragon.net)


281:デフォルトの名無しさん
09/03/14 08:30:19
そもそも何でMinGWって最新のGCCを同梱してないの?

>>279
ふーん、まだダメダメなのか。残念だ。

>>280
TDM/MinGW Installer
1.902.0
Released 2009-02-28 Bundled Installer: [tdm-mingw-1.902.0-f1.exe] (23.8 MB)
Includes C and C++ SJLJ packages from GCC 4.3.3 TDM-1, plus binutils (2.19.1), mingw-runtime (3.15.2),
w32api (3.13), mingw32-make (3.81-20080326-3) and gdb (6.8-mingw-3).
ってやつか?すげぇなコレ。
いわゆる人柱版ってことかな?

282:デフォルトの名無しさん
09/03/14 17:36:13
UNIX/Linux初心者です。
会社でfork/FIFOを使用した開発をやっていて家でもお勉強できるようにとCygwinインストールしました。
でもうまく動いてくれません。chi 3-25で、Device or resource busyが発生します。
Cygwinの仕様でしょうか?

// プロセス作成
p = fork();
if(p == -1) exit(1);
if(p > 0) {
sprintf(fname_p, "%s-%d-%d", FIFO, p,1);
}
if (p == 0) {
p = getpid();
//子側FIFO名前
sprintf(fname_c, "%s-%d-%d", FIFO, p,1);
//親側FIFOのメーク待ち
while(1){
if(access(fname_c, F_OK) == 0) break;
sleep(1);
}
//読み込みパイプ開
fifo_cr = open(fname_c, O_RDONLY);
if(fifo_cr == -1){
printf("chi 3-25 error open fifo\n",fname_c);
err_no = errno;
perror("err_no"); exit(6);
}

省略




283:デフォルトの名無しさん
09/03/14 18:40:21
>282
質問の答えじゃないが、fork するんなら pipe(2) 使えばループで待つ必要もないんじゃないの?

284:デフォルトの名無しさん
09/03/14 19:52:06
>>282
質問の答えじゃないが

printf("chi 3-25 error open fifo\n",fname_c);
err_no = errno;

これはダメだろう常識的に

285:デフォルトの名無しさん
09/03/17 11:38:28
質問の答えじゃないが、popen()で事は足りないのかな?

286:デフォルトの名無しさん
09/03/22 07:03:44
ファイルを先頭から順次読み込むプログラムで,
以下のようなものを書いたのですが,ファイルの途中なのにもかかわらずループを抜けてしまいます.
(どうも0x1Aを読み込んだときにbreakがかかるようです.)

for ( ; ; ){
c = fgetc(fp);
if (c == EOF)
break;
/*
省略
*/
}

Linux上のgcc(2.95.3)でコンパイルした場合は正常に動くのですが,
MinGW(5.1.4)だと前述したように,正常に動きません.(fgetcの仕様が違うのでしょうか)
とてもくだらない質問に思えて恐縮なのですが,解る方がいたら教えてください.

287:デフォルトの名無しさん
09/03/22 07:55:26
fopenでtext modeでファイルを開くと、0x1aをEOF(=CP/Mの)と見なすから。
URLリンク(www.google.co.jp)

288:デフォルトの名無しさん
09/03/22 07:56:24
mingwのライブラリはVC仕様なので
バイナリモードで開いてみては
fp = fopen( path, "rb" ); // こんな感じ?

# たしか Windows/DOS ではテキストモードで開くと 0x1a を
# EOF として扱う仕様だったような気がする
# unixはテキストモードはなし

289:デフォルトの名無しさん
09/03/22 08:33:39
>>287-288
素早い返答ありがとうございます.
ご指摘のとおり,fopenのモード指定の問題でした.

VC系だとテキスト/バイナリの区別がある,というのを初めて知りました.
googleにもスバリ書いてあることだったようで,お恥ずかしい限りです.

290:デフォルトの名無しさん
09/03/22 23:13:40
CygWinでgprofかけても時間情報が取れないのですがどうすればプロファイル取れる
でしょうか。
g++のコードのプロファイルが取れる方法よろしくです。gprofて最近は使われてない?

291:デフォルトの名無しさん
09/03/23 05:44:56
gccのバージョンによって、gmonのフォーマットが途中で変わってるので、
gccかgprofのバージョンを変えてみると良いらしい。MinGWもgcc3.4.5と
手元のgprofとの組み合わせではダメで、gcc4.3.2や4.3.3では取れるなあ。
これは古いgprofを試さないといけないのかな。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch