[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 18:27 / Filesize : 201 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

GCCについて part7



1 名前:デフォルトの名無しさん [2006/04/18(火) 19:57:04 ]
史上最強かもしれないツール、GCC(GNU Compiler Collection)について語るスレ。

GNU本家のGCCページ
gcc.gnu.org/

Binutils - Collection of binary utilities ←これも必要だぞ。
www.gnu.org/directory/GNU/binutils.html

GNU Binutils
sources.redhat.com/binutils/

GCC online documentation
gcc.gnu.org/onlinedocs/

Installing GCC
gcc.gnu.org/install/

GCC Timeline
gcc.gnu.org/releases.html#timeline

Calendar
gcc.gnu.org/develop.html#timeline


2 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 20:06:03 ]
72.14.203.104/search?q=cache:h-SEaAzpl_gJ:www.jtta.or.jp/handbook/meibo/dani5.html+%E5%B9%B3%E9%87%8E%E7%B6%BE+%E4%B8%AD%E5%9B%BD&hl=ja&gl=jp&ct=clnk&cd=12&lr=lang_ja&inlang=ja

3 名前:デフォルトの名無しさん [2006/04/18(火) 20:12:49 ]
C言語、GNU readline の質問です。
デフォルトで有効になっているカレントディレクトリのファイル名補完機能を無効にし、
コマンドラインからの入力なしの状態でTabキーを押したらa_func b_func func_c と表示させ、
aを入力した状態でTabキーを押したらa_funcと補完させるプログラムを作りたいです。
サンプルが欲しいです

4 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 20:33:36 ]
>>3
釣り乙

5 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 20:37:35 ]
GCCについて part7
pc8.2ch.net/test/read.cgi/tech/1145357824/

6 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 02:00:37 ]
今,Lispのコンパイラ作っていて,現在中間コードをネイティブコードに変換するところまでいきました。でもCへ落としてからネイティブコードに落とした方が良いのでしょうか?

下手な素人が生成させアセンブラよりもGCCの方が頭良いのかな?

7 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 02:59:18 ]
>>6
貴方が C に落としても良いと思うなら C に落とした方が良いんじゃない。
実行速度が速くなる、プラットフォーム依存度が減る、低レベルを弄らなくて良いので
上位レベルの作業により多くの時間を割ける、etc. に魅力を感じるのなら…
それじゃコンパイラを作る楽しみが半減すると思うけど。

8 名前:デフォルトの名無しさん [2006/04/19(水) 11:08:38 ]
>>6
> 下手な素人が生成させアセンブラよりもGCCの方が頭良いのかな?
私程度の素人であれば、答えは「Yes」です。

>>7氏が言っておられるように、あなたの興味次第だと思います。
私なら、迷わずGCCを使いますが。



9 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 11:15:01 ]
>>6
Cを使うように変えると、実行スタック管理や大域ジャンプで一仕事増えるよ。


10 名前:デフォルトの名無しさん [2006/04/19(水) 13:16:38 ]
>>6
便乗して質問です。Javaコンパイラをgcjとして作るみたいに、lispコンパイラを作れないものでしょうか?




11 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 13:24:05 ]
つ GCL

12 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 15:50:48 ]
SSEとかはコンパイルオプションで指定すれば自動的に使ってくれるのですか?

13 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 16:16:59 ]
-mfpmath=sse, -msse
でsse使ってくれる

14 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 20:04:02 ]
>>1
ちげーよ
ある仮定を1つ言ってないだけさ

−−−−−−−−−−−−−−−−−−−−−−−−
CGGスレ屈指の名セリフって事で、テンプレ入り。

15 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 20:17:49 ]
CGG・・・。
あたらしい何かか?

16 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 20:33:31 ]
あたたも わたしも CGG
作る人 売る人 使う人
互いに役立てありがとう
助けられたり 助けたり

17 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 21:22:58 ]
>>16
w
初出何スレ目だっけ?

18 名前:デフォルトの名無しさん [2006/04/20(木) 03:48:01 ]
>>11
もうあるのか。じゃぁ、>>6はなにをしようとしているのだろう。

19 名前:デフォルトの名無しさん mailto:sage [2006/04/20(木) 04:00:13 ]
趣味を楽しむことに目的は要らない

20 名前:デフォルトの名無しさん [2006/04/27(木) 14:14:20 ]
#pragma warning( push )
#pragma warning( disable : 4705 )
#include <boost/lambda/lambda.h>
#pragma warning( pop )

上のはCLでのプラグマ構文ですが、
このように特定のファイルからの警告を抑止する方法はないのでしょうか?



21 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 00:52:40 ]
文法エラー等を徹底的に調べたいのですが
-Wall以外につけたほうがいいオプションとかってありますか?

22 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 01:19:26 ]
VC++やBCCで同様に警告レベルを最大にしてコンパイルして確かめる

23 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 01:30:52 ]
GCCのスレなのにWindows前提かよ

24 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 01:47:26 ]
コンパイルして確認するだけなら、どこでも出来ますけど?
まさかデフォルト以外のincludeディレクトリを指定できないとでも?

25 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 01:56:51 ]
こいつは何を言ってるの?

26 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 02:02:57 ]
>>21
文法エラーならオプション無くても全部エラーになるよ。

27 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 02:34:45 ]


28 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 02:45:23 ]
-ansi -pedantic -Wall -W でいいんじゃね。

29 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 07:23:56 ]
CなのかC++なのかそれともGCC一般なのか分からない状態だけど、以下はCと仮定。

-ansiだとC90、C99なら-std=c99としないと駄目。

あとスレ違いだけど、lintも使ってみて。
www.splint.org/

30 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 07:46:47 ]
いっそのこと、 C でも C++ としてコンパイルすれば
宣言なしの関数呼び出しとか、 int と enum のごちゃ混ぜとか
const 外しとか、いろいろ検出できるんじゃない?



31 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 07:55:39 ]
-Wallに入ってない有用な警告もいくつかあるよ。
info見ながらオプションに追加してみ。


32 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 09:25:05 ]
そうなんだよな、-Wallには「全部enable」って書いてあるけど嘘。

33 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 09:26:16 ]
ごめん、嘘は言い過ぎ。-std=などの指定に従う。
lint的に使いたいなら、足りない。

34 名前:デフォルトの名無しさん [2006/05/05(金) 15:02:34 ]
>>21splint落として使う

35 名前:デフォルトの名無しさん [2006/05/05(金) 15:12:45 ]
すみません。質問です。
C#で、メモリが開放されるタイミングってどんなときでしょうか?
プログラム内で今開放してって指定できないでしょうか?


36 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 15:23:39 ]
ここはGCCのスレ。
言語自体の質問は専門スレへどうぞ。

37 名前:35 [2006/05/05(金) 15:25:40 ]
>>36
GCの質問なんだが。
別に言語自体の質問ではない。

38 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 15:38:02 ]
  ┏┳┳┓     ハイ.     ┏┳┳┓
┏┫┃┃┃池沼と遊ぶのは ┃┃┃┣┓
┃┃┃┃┣┓  ここまで ┏┫┃┃┃┃
┃      ┃┃┏━━━┓┃┃      ┃
┃ 池沼   ┣┫ . ・∀・ ┣┫. STOP!┃
┗━━━━┛┗┳━┳┛┗━━━━┛
            ┏┻┓┃
        ┏━┛  ┣┻┓
        ┗━━━┫  ┗━┓
.             ┗━━━┛

39 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 15:46:27 ]
こどもの日キター

40 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 17:01:25 ]
Garbage Collection (GC)について語るスレ
pc8.2ch.net/test/read.cgi/tech/1141646850/



41 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 02:41:35 ]
Garbage Collector Capture Sakura

42 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 22:12:48 ]
神託最適化の実装まだー?

43 名前:デフォルトの名無しさん mailto:sage [2006/05/07(日) 01:33:28 ]
Debugging by Ian Lance Taylor
www.airs.com/ian/essays/debug/debug.html

「If you are very unlucky, the bug may not be in the program source code at all.
It may be in a library routine, or in the operating system, or in the compiler.
These cases are rare, and it is a mark of an inexperienced programmer
to suspect a compiler bug too quickly.」

いるいるwwwwうぇwwwwwwおぇwwwww

44 名前:デフォルトの名無しさん [2006/05/07(日) 03:08:16 ]
GCCを使って見ようと、Windows XP Pro に MinGW-5.0.2を入れた。
例によって、デフォルトでは日本語の "表示" が通らない。
やはり、ダメかと思いながら、あれこれ検索していると
www.noppi.jp/diary/?date=20041126 が見つかった。
コンパイラ オプションの --input-charset=cp932 --exec-charset=cp932
久しぶりに感動した。

以上、GCC について。

45 名前:デフォルトの名無しさん [2006/05/07(日) 06:41:55 ]
  ┏┳┳┓     ハイ.     ┏┳┳┓
┏┫┃┃┃池沼と遊ぶのは ┃┃┃┣┓
┃┃┃┃┣┓  ここまで ┏┫┃┃┃┃
┃      ┃┃┏━━━┓┃┃      ┃
┃ 池沼   ┣┫ . ・∀・ ┣┫. STOP!┃
┗━━━━┛┗┳━┳┛┗━━━━┛
            ┏┻┓┃
        ┏━┛  ┣┻┓
        ┗━━━┫  ┗━┓
.             ┗━━━┛


46 名前:デフォルトの名無しさん [2006/05/07(日) 07:04:42 ]
GCの開発ツールってどこで手に入りますか?
また、実際に作ったのはどうやって動作確認すればいいのでしょうか?
GCって結構特殊なCD(光ディスク?)つかってなかったっけ?

47 名前:デフォルトの名無しさん mailto:sage [2006/05/07(日) 07:52:50 ]
ガベコレかと思ったらゲムキュブか。

48 名前:デフォルトの名無しさん mailto:sage [2006/05/07(日) 13:46:39 ]
なんかガベコレに命を捧げる奴いるけど、
ガベコレがそれほど重要だと思わないのは気のせいですか?

49 名前:デフォルトの名無しさん mailto:sage [2006/05/07(日) 13:58:14 ]
まあ、価値観の違いってやつだ。

50 名前:デフォルトの名無しさん mailto:sage [2006/05/07(日) 17:37:25 ]
バックエンド開発者にとって、開発対象それ自体を
利用者に気にされるのは既に負け。



51 名前:デフォルトの名無しさん mailto:sage [2006/05/07(日) 17:57:30 ]
>>50
ユーザがバックエンドの存在を忘れてると、
今度は「たまには思い出して下さい」と言うくせに


52 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 11:32:39 ]
ボクのこと忘れてください

53 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 12:38:27 ]
うぐぅ

54 名前:デフォルトの名無しさん [2006/05/13(土) 22:51:13 ]
あのソニーのPS3にはLinuxが搭載されるそうで、
この、GCC板も生き返らねば。

55 名前:デフォルトの名無しさん mailto:sage [2006/05/14(日) 00:09:40 ]
LinuxでもWinCEでもΣOSでも何でもいいから早よゲーム作れや

56 名前:デフォルトの名無しさん mailto:sage [2006/05/14(日) 20:45:51 ]
Linuxとか関係ないっしょ
PS2もDSもPSPも基本はGCCだよ
豊富なターゲットCPUのおかげだな

57 名前:デフォルトの名無しさん mailto:sage [2006/05/14(日) 21:00:42 ]
Dwarf2 EHって何ですか?教えてエロイ人!

58 名前:デフォルトの名無しさん mailto:sage [2006/05/14(日) 21:02:20 ]
>>57
テーブル引き型の例外処理機構をそう言うらしい。
なんでそんな紛らわしい呼び方するのかは知らない。

59 名前:デフォルトの名無しさん mailto:sage [2006/05/14(日) 21:10:17 ]
dwarf.freestandards.org/Home.php
ftp://ftp.freestandards.org/pub/dwarf/dwarf-2.0.0.pdf

60 名前:デフォルトの名無しさん mailto:sage [2006/05/15(月) 23:05:00 ]
sunosのライブラリはそのままlinuxで使えるものですか?



61 名前:デフォルトの名無しさん mailto:sage [2006/05/15(月) 23:23:12 ]
使えないよ。Linux は SysV の ABI に則ってないし。

62 名前:デフォルトの名無しさん mailto:sage [2006/05/18(木) 15:55:09 ]
gcc version 3.4.5 (mingw special) 使ってるんだけど、
グローバルな変数とか、static な変数とかだと、
16の倍数のサイズを確保するようなんだけど、なんでだ?

int hoge; → .comm _hoge, 16 # 4
static int hoge; → .lcomm _hoge,16

こんな感じ。
Linux とかだったら、4バイトの変数なら4バイトしか確保しないよね?

63 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 11:14:06 ]
>>62
16バイトアラインで効率上げる最適化が適用されているんじゃない?
別にOSに関係ない話だと思うけど。
#Linuxでは16バイトアラインが意味がないのかもしれないしそうでないかもしれない。

64 名前:デフォルトの名無しさん [2006/05/19(金) 12:20:04 ]
age

65 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 20:08:19 ]
template < typename T >
class A
{
};

typedef class A<int> X;

class B
{
friend X;
};

これ可能にならんのかね。

66 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 20:15:00 ]
質問させてください。Cの初心者歓迎のスレから誘導されました。

C言語でコンパイラでGCCを通そうとすると
コンパイラは…Cygwinなんですが…弱いですか?

後、gccを通そうとすると
/usr/lib/gcc-lib/i686-pc-cygwin/3.2/../../../../i686-pc-cygwin/ld:
cannot open output file a.exe:
Permission denied collect2: ld returned 1 exit status

ってエラーメッセージが出るんですが
このメッセージって調べてみたんですが位置がおかしい
ってことですよね?
別に変なところはいじってないつもりなんですが…
いきなりこんな風になることってありますか?

67 名前:66 [2006/05/19(金) 20:18:31 ]
ごめんなさい。
上なんですが変な文章になってしまいました。

gccを通そうとすると
/usr/lib/gcc-lib/i686-pc-cygwin/3.2/../../../../i686-pc-cygwin/ld:
cannot open output file a.exe:
Permission denied collect2: ld returned 1 exit status

ってエラーメッセージが出るんですが
このメッセージって調べてみたんですが位置がおかしい
ってことですよね?
別に変なところはいじってないつもりなんですが…
いきなりこんな風になることってありますか?

って言うのが聞きたくて…すいません。

68 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 20:18:51 ]
>>66
作業ディレクトリのパーミッションを確認せよ。
ここで質問するならコマンドラインを貼れ。

69 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 20:22:34 ]
>>68
すいません。作業パーミッションですか?
調べて確認してみます。
コマンドラインですか?

70 名前:69 [2006/05/19(金) 20:25:48 ]
すいません。途中で書き込んでしまいました。
コマンドラインは…
./cygwin/home/ユーザー名/
だと思うんですが…



71 名前:65 mailto:sage [2006/05/19(金) 20:40:46 ]
というか、GCC(3.4.4)は、
テンプレート引数のフレンド自体サポートしてないみたいね。

template < typename T >
class CTest
{
friendT;
};

>>70
>>68は作業ディレクトリで
$ls -ld .
した結果を貼れって言ってるんだと思う。


72 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 20:50:47 ]
>>71
そうだったんですか?
ls -ldって入れると
drwxrwx---+ 5 ユーザー名 Usersって出たんですが
コレで良いんでしょうか?

73 名前:72 [2006/05/19(金) 20:53:07 ]
すいません。インストールしなおしたら
自己解決しました。

何が悪かったのかは分りませんが…
スレを汚してすいません。

74 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 22:12:45 ]
>>65,71
> friend X;
> friend T;

gcc が対応してないんじゃなくて、規格で認められてないんじゃない?
www.comeaucomputing.com/techtalk/templates/#friendclassT

75 名前:デフォルトの名無しさん mailto:sage [2006/05/20(土) 09:23:39 ]
>>65のtypedef-nameの方は、
template aliasesが、c++0xに入れば可能になるんじゃないか?

ってスレ違いだよな…

76 名前:デフォルトの名無しさん mailto:sage [2006/05/22(月) 01:12:18 ]
gcovについて質問.

関数テンプレートを含むC++ソースコードをカバレッジにかけると,
インスタンス化されない関数テンプレートがカバレッジの統計にまったく入らない
("executed" でも "never executed" でもなく "no code" 扱いになる)
んだけど,ツール側でどうにかする手段ってない?

テンプレートを多用するコードのカバレッジ測定が非常に面倒なんだが.


77 名前:76 mailto:sage [2006/05/22(月) 01:20:55 ]
すまん環境を書き忘れた.

version:
 gcc-4.0.3 と 同梱のgcov
コンパイルオプション:
 gcov的に普通に -O0 -fprofile-arcs -ftest-coverage
(他に -g -Wall などあるが省略)


78 名前:デフォルトの名無しさん mailto:sage [2006/05/25(木) 13:44:43 ]
GCC 4.1.1

79 名前:デフォルトの名無しさん [2006/05/29(月) 01:59:51 ]
3.4.6 age

80 名前:デフォルトの名無しさん mailto:sage [2006/05/29(月) 03:42:00 ]
>>79
3月に出たのになぜ今頃また。。。



81 名前:デフォルトの名無しさん mailto:sage [2006/05/29(月) 06:12:33 ]
3.x系は2.95みたいにしぶとく残るよ。あと10年ぐらい。

82 名前:デフォルトの名無しさん mailto:sage [2006/05/29(月) 08:44:18 ]
>>80
announce が昨日きてたよ。

83 名前:デフォルトの名無しさん mailto:sage [2006/05/29(月) 08:57:29 ]
なんかの手違い?

gcc.gnu.org/gcc-3.4/ (日付がMay 26, 2006)
GCC 3.4.6
March 6, 2006

ftp://ftp.gnu.org/gnu/gcc
gcc-3.4.6 2006年03月10日 12:15:00

ftp.gnu.orgにも3.4.7とか3.4.6.1はないし。

84 名前:デフォルトの名無しさん mailto:sage [2006/05/29(月) 09:50:20 ]
>>83
gcc.gnu.org/ml/gcc/2006-05/msg00618.html

85 名前:デフォルトの名無しさん mailto:sage [2006/05/30(火) 03:28:27 ]
GNUって大したことないな

86 名前:デフォルトの名無しさん mailto:sage [2006/05/30(火) 04:19:12 ]
ぎゃふん

87 名前:デフォルトの名無しさん mailto:sage [2006/05/30(火) 20:15:54 ]
ぐっしっし

88 名前:デフォルトの名無しさん mailto:sage [2006/06/19(月) 01:36:43 ]
gcc4.1のSSP使ってみた人いる?
どんな感じ?

89 名前:デフォルトの名無しさん [2006/06/19(月) 17:30:20 ]
openmpはいつになったら使えるようになるの?

90 名前:デフォルトの名無しさん mailto:sage [2006/06/19(月) 21:08:38 ]
89が実装し終わったら



91 名前:デフォルトの名無しさん mailto:sage [2006/06/20(火) 00:11:36 ]
Tree SSA ってただの SSA とどこがちがうの?
GIMPLE でやるから Tree ってつけたの?

92 名前:デフォルトの名無しさん mailto:sage [2006/06/20(火) 00:19:49 ]
いや自動ベクトル化機構ついてるからじゃね?

93 名前:デフォルトの名無しさん mailto:sage [2006/06/20(火) 00:26:19 ]
木構造にしてんじゃん。

gcc.fyxm.net/summit/2003/Tree%20SSA%20-%20A%20New%20optimization%20infrastructure.pdf

94 名前:デフォルトの名無しさん [2006/06/20(火) 13:46:30 ]
RedHat 8.0 (gcc 3.2) からRedHat WS4 (gcc 3.4)に意向しようとしてるのですが、以下でレポートされているバグに
引っかかってコンパイルが出来ません。

ttp://gcc.gnu.org/bugzilla/show_bug.cgi?id=16245

自分のコードの例では以下のようなコードがコンパイルできません。

void hoge (char *&s);

unsigned char *uc;
hoge((char*)uc);

4.0で直したとあるのですが、リグレッションを3.4ブランチで直さないで次のメジャーバージョンで
直すなんてひどすぎ。 一応RedHatのbugzillaに投げといたのですが、直してくれる可能性
ありますかねえ?



95 名前:デフォルトの名無しさん mailto:sage [2006/06/20(火) 14:45:38 ]
>>94
> void hoge (char *s);

の間違い?

96 名前:デフォルトの名無しさん mailto:sage [2006/06/20(火) 14:53:12 ]
>>95
ハァ?

97 名前:デフォルトの名無しさん mailto:sage [2006/06/20(火) 15:28:33 ]
>>94
hoge(*(char**)&uc);

98 名前:デフォルトの名無しさん mailto:sage [2006/06/20(火) 20:23:46 ]
>>94
rvalue が (non-const) lvalue reference に変換できないのは
正しい C++ の挙動だよ

99 名前:デフォルトの名無しさん mailto:sage [2006/06/20(火) 21:49:45 ]
>>94
そもそも、そのレポートとは別問題じゃ?

100 名前:デフォルトの名無しさん mailto:sage [2006/06/20(火) 22:31:04 ]
>>97
解決しました。ありがとうございます。 

>>94
そんな気もしてきましたね。良く見てみたらエラーメッセージの2行目は同じでしたが
私の場合1行目はありません。失礼しました。 どなたかgcc 4.0に上のを通していただけますか?
それでこれと同じエラーが出るのでしたら私の誤解でした。

castandref.cc: In function `int main()':
castandref.cc:24: error: invalid initialization of non-const reference of type 'char*&' from \
a temporary of type 'char*'
castandref.cc:16: error: in passing argument 1 of `void x(char*&)'




101 名前:デフォルトの名無しさん mailto:sage [2006/06/20(火) 22:58:03 ]
暗黙の変換
一時オブジェクト

102 名前:デフォルトの名無しさん mailto:sage [2006/06/20(火) 23:12:08 ]
>>100
日本人のレベルが底辺だと解るような馬鹿な
質問をするな。
お前には、2つの選択の余地を与えよう
1、今すぐ首を吊って市ね
2、日本から出て行け
期限は明日正午までな

103 名前:100 mailto:sage [2006/06/20(火) 23:34:40 ]
>>102 
2.は実行いたしました。 日本にはいません。
1.は、実行したら2が出来なくなるのでしませんでした。

104 名前:デフォルトの名無しさん mailto:sage [2006/06/21(水) 04:03:06 ]
>>94
そのコードとは関係なかったわけだが、リンク貼ってあるバグは
ほんとにリグレッションなのか?特にそんな記述は見当たらない。

105 名前:デフォルトの名無しさん mailto:sage [2006/06/21(水) 04:04:44 ]
>>100
4.0 での結果を見るまでも無く不正なコードだから、コードのほう直せよ。

106 名前:94 mailto:sage [2006/06/21(水) 08:11:59 ]
>>104
あの〜〜、調べてみたら3.2でも2.9でもエラーになりました。。。。 自分の
コードと同じ現象でそれがエラーになったので勝手にリグレッションと思ったという
オチでした。

ほんとに首つってきます。

107 名前:デフォルトの名無しさん [2006/06/22(木) 04:09:11 ]
バイナリで持ってるgccとgasのビルド時のconfigureオプションを知りたいのですが、
どうすればいいのでしょうか。

108 名前:デフォルトの名無しさん mailto:sage [2006/06/22(木) 04:11:45 ]
gcc -v

109 名前:107 mailto:sage [2006/06/22(木) 04:25:18 ]
>>108
ありがとうございます。
gcc --versionとgcc -vは同じ出力だろうと思ってました…。
gnu assemblerの方はどうすればいいか分かります?
binutilsのconfigureオプションを知りたいです。

110 名前:デフォルトの名無しさん mailto:sage [2006/06/22(木) 04:47:51 ]
gccのオプションで通ると思うけど。
エラーが出たら、あきらめるとか。



111 名前:107 mailto:sage [2006/06/22(木) 05:12:08 ]
stringsコマンドでアセンブラの中身を見たけど、
それらしい記述がないので無理なのかもしれませんね。

クロスコンパイラ環境を作りたいのですが、
自分でビルドしたコンパイラは使えるけど、アセンブラは使えなくて、
配布されているコンパイラは使えないけど、アセンブラは使える
という、困った状況なもので…。
使えるもの同士組み合わせるのが良いのでしょうけど、気持ち悪いですし。
いろいろためして見ることにします。

112 名前:デフォルトの名無しさん mailto:sage [2006/06/22(木) 05:20:34 ]
ターゲットによるけど、クロスなら検索かけると作り方書いてるところが出てくると思うよ。

113 名前:デフォルトの名無しさん mailto:sage [2006/06/22(木) 07:37:07 ]
>>94
これでも行けると思う。(>>97と同じになるはず)
hoge((char*&)uc);
もちろんreinterpret_castね。

114 名前:デフォルトの名無しさん mailto:sage [2006/06/22(木) 10:45:08 ]
、、、、、


直感的に理解できないなら、参照なんて使わなけりゃいいのに、、、

115 名前:デフォルトの名無しさん mailto:sage [2006/06/22(木) 18:25:12 ]
>>111
どんなターゲットだ?
なるべくでいい、情報出してみれ。

arm の thumb 問題だったりしてな!

116 名前:デフォルトの名無しさん [2006/06/25(日) 20:27:56 ]
Windows上でgccを使用したいのですが、どの方法がお勧めでしょうか?

ちょっと調べてみたところでは、下記のような方法があるようですが
    ・cygwin
    ・XonWindows
    ・coLinux
    ・vmware
    ・Xen

117 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 20:33:57 ]
>>116 cygwin

118 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 20:38:45 ]
>>116
MinGWが抜けている。
もっとも、俺もcygwinを勧めるけど。

119 名前:116 mailto:sage [2006/06/25(日) 20:40:17 ]
>>117
ありがとうございます。cygwinお勧めですか。

120 名前:116 mailto:sage [2006/06/25(日) 20:41:32 ]
>>118
MinGWっていうのもあるんですか。いろいろあるんですね。



121 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 20:52:30 ]
Interixも抜けている。
それにしてもVMWareはUnix/Linuxでgccを動かすのと変わらないと思うのだがいいのか?


122 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 21:18:07 ]
gccを使いたいだけならMinGWでいいんじゃね?
cygwinはインストールに時間が掛かるし。

123 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 21:27:36 ]
VMWare に Windows いれてそこで Cygwin つかうんだろ?

124 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 21:31:41 ]
>>123
うわーーーー、すげーーーー
そんなこと思いもつかなかったよ。
あんた天才だ。

125 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 21:34:46 ]
>>123
ばかだな。
VMWare+Linux+Wine+Cygwin

126 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 21:44:29 ]
おまえらそこまで行ったら
VMware + knoppix + qemu + knoppix + ・・・ + Wine + Cygwin
も考えとくべきなのか?

127 名前:116 mailto:sage [2006/06/25(日) 21:52:29 ]
>>121-126
ありがとうございます。cygwinかMinGWで行こうと思います。
どうかもう新しい方法が出てきませんように。orz

128 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 22:00:48 ]
USBのぞき見防止フード
japanese.engadget.com/2006/06/22/usb-immersion-hood/


129 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 22:03:18 ]
>>127
大丈夫。
その2つが最有力候補で、ほかはあまり実用的だったり現実的だったりしないから。

130 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 22:55:24 ]
>>127
単にgccを使いたいというのであれば、MinGWの方をおすすめします。

Cygwin版では、アプリの動作にcygwin1.dllというファイルが必要で(そうしない
こともできるが、デフォルトでは必要)、他のPCで動かそうとするときには、
そのファイルが必要です。
また、他のCygwin版gccで作られたアプリが動いていると、自分が作ったものが
動かないなども問題が発生することがあります。

なお、MinGWのインストールは、次のページが参考になります。
ttp://www2.atwiki.jp/ccw/pages/5.html



131 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 22:58:46 ]
つうか、VS2005が実質フリーなんだしそれ使えよ


132 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 23:00:28 ]
つうか、gccが本質フリーなんだしそれ使えよ

133 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 23:03:08 ]
>>130
-mno-cygwin があるから cygwin でいいよ。

134 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 23:06:56 ]
いや、MinGWの方がいい

135 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 23:09:05 ]
cygwin で -mno-cygwin するのと、 MinGW では何が違うのか教えてください。

136 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 23:14:32 ]
>>135
それって、cygwinのgccとMinGWのgccの違いを調べたほうがいいんじゃないの?

137 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 23:24:45 ]
>>131
C++標準への準拠度が甘いのが難点

138 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 23:30:56 ]
>>135
その質問はスレ違い。(というか、元質問もスレ違いっぽいんだが・・・)
cygwin + mingwn + gcc 相談室 Part2
pc8.2ch.net/test/read.cgi/tech/1126103347/

139 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 23:32:40 ]
>>134
ねぇ何が違うのさ?

140 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 23:33:45 ]
>>137
詳しく

VC7以降はかなり規格準拠を頑張ってる印象を持ってたんだが



141 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 23:38:07 ]
Cygwin は自分のとこだけでいろいろやるにはいいが、社内ツールみたいに
配布を考えるといろいろとメンドイし cygwin1.dll の GPL 問題もあるんで
俺は MinGW だな。GCC の最新のソースからも普通にビルドできるし。

142 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 23:39:12 ]
>>139
うざいなお前。
>>138のスレと過去スレ全部読んでから出直せ。

143 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 23:53:45 ]
>>140
137ではないが、以前 SFINAE 回りで挙動がおかしかったことがある。
他にも two-phase name lookup まわりもアヤしいんではなかったっけ。
というか、VC7 はダメだろう。7.1 でかなりまともになった印象。

144 名前:116 mailto:sage [2006/06/26(月) 00:22:26 ]
>>130
おお、とても参考になりそうなサイトですね、ありがとうございます。

>>131
実はリナザウも使っているので、両方で動く環境が欲しかったんです。

>>132
だから、gccを使うための方法を探しているんですが???

>>133
そのオプションを使うと130さんが言っているような問題が緩和されるんですね、調べてみます。
もっとも、個人で使うプログラムで、他人に配布とかするわけではないので、
cygwinでも特に問題はないとは思うのですが。

145 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 00:36:51 ]
>>144
>実はリナザウも使っているので、両方で動く環境が欲しかったんです。

先にこれ言いましょう。これならcygwinしかありません。

146 名前:116 mailto:sage [2006/06/26(月) 00:47:45 ]
>>145
そうなんですか、じゃあcygwinにします。ありがとうございました。

147 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 00:49:40 ]
>>144
> だから、gccを使うための方法を探しているんですが???

ネタに糞レスしている場合かw

148 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 00:59:46 ]
while(1){
 neta(magi);
 res(warai);
}

149 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 01:01:42 ]
リナザウにtelnetしてgcc使えばええんじゃないの

150 名前:116 mailto:sage [2006/06/26(月) 01:09:21 ]
>>149
自宅にいるときはそれでも何とかなるけど、外に行くときはノートPCだけ持っていくこともあるので。
それに、リナザウはスピードやメモリ容量に制約が多すぎて、どうしても使える場面が
限られてしまうので。



151 名前:116 mailto:sage [2006/06/26(月) 01:10:32 ]
>>147-148
ネタだったのかorz

152 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 01:27:00 ]
というかなぜ、Windowsにこだわるんだ?
素直にLinuxでもソラでも用意してgcc使えばいいじゃん


153 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 01:56:57 ]
do{
>>152 .read(>>150)
} while (>>152 .is_death());


154 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 02:17:31 ]
リナザウ使ってんならLinuxへの抵抗感もなかろうに。
最近のWineなら主要なWinアプリひょいひょい動かしてくれるし。

155 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 02:31:54 ]
PCのLinuxはクソ
リナザウだから許されてることも知らんのか

156 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 02:42:12 ]
俺も普通に Linux/Solaris/FreeBSD 辺りを入れれば良いと思うけど。
クロス環境を作るのにもそっちの方が楽そうだし。

157 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 02:52:14 ]
Mona

158 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 13:02:45 ]
リナザウのクロス開発環境作るのなら、
VMPlayerでLinux環境構築した方がいいんじゃないのか?

cygwinで環境構築するのは、ちょっと>>116には厳しそうだから。

159 名前:116 mailto:sage [2006/06/26(月) 18:49:34 ]
すみません、昼間は会社なので返答遅れました。

>>152
Linuxはリナザウでしかまともに使ったことがないので、どうも敷居が高くて。
それに、ワードやエクセルも使いたいので。

>>154
Linuxには抵抗ありまくりですよ。
リナザウでoctaveとかソースからコンパイルしようとして、断念しました。orz
Linuxでワードやエクセルが動くほどになっているんですかね?
でも長年Windowsでやってきたので、今から乗り換えるのはちょっときついかな。

>>156,158
いや、リナザウはクロス開発じゃなくて、セルフ開発ですよ。
というか、現在唯一の開発環境です。
もっともターミナル上で動くプログラムしか作ったことないけど。

160 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 19:02:27 ]
そこでOOoですよ。



161 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 20:35:00 ]
いいかげんスレ違いなんですが。

162 名前:116 mailto:sage [2006/06/26(月) 20:47:54 ]
>>161
すみません、これで最後にします。

163 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 22:55:11 ]
>>159
>いや、リナザウはクロス開発じゃなくて、セルフ開発ですよ。

Linux 入れれば、リナザウ用の dpkg 作る環境としても良いんじゃないかなと。

UNIX に抵抗あるなら、↓これとかどうかな。

www.bloodshed.net/devcpp.html
csjava.occ.cccd.edu/~gilberts/devcpp5/

164 名前:163 mailto:sage [2006/06/26(月) 23:23:04 ]
ま、Linux に抵抗感があっても Ubuntu, OOo, WINE 辺りで幸せになれそうな気もする。
Cygwin で頑張るのはちょっと骨が折れるので、Win が良いなら GCC 以外の選択肢も
考えた方が良いんじゃないかな。余計なお世話でスマンけど。

165 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 04:48:56 ]
cygwinの-mno-cygwinってconfigureオプションの違いのせいか
C++のオブジェクトがMinGW配布のものと互換性がなかったような記憶がある。



166 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 06:48:03 ]
long doubleのサイズが違ったような

167 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 18:26:17 ]
どう考えてもOOoじゃ幸せになれないなw

168 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 21:58:50 ]
>>153
is_deathってwwww
英語しらねーんだったら、sinderu()でも使っとけ。

169 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 05:43:46 ]
struct A a __attribute__ ((cleanup(A_dtor)))

これすげー便利じゃない?
他に便利なattributeない?いっぱいありまくるけど

170 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 07:49:22 ]
mode(TI)



171 名前:デフォルトの名無しさん [2006/07/01(土) 11:35:36 ]
-marchの引数で,XEONはどの部類のものを指定すればいいのでしょうか?
今はpentiumproでやってます。

172 名前:デフォルトの名無しさん mailto:sage [2006/07/01(土) 11:46:48 ]
どのXeonかもはっきりさせず、しかもググればすぐわかることを聞くのか。

173 名前:デフォルトの名無しさん mailto:sage [2006/07/01(土) 12:03:04 ]
CoreDuoに対応したコード吐かせるには何を指定しますか?

174 名前:デフォルトの名無しさん mailto:sage [2006/07/01(土) 20:06:54 ]
>>173
-march=i386

175 名前:デフォルトの名無しさん mailto:sage [2006/07/01(土) 20:51:35 ]
>>173
cd your_brain
make clean

176 名前:デフォルトの名無しさん mailto:sage [2006/07/15(土) 03:38:44 ]
fedoraのg++(4.1.1)を使っているんですが、不思議な動作をしてる気がします。
*.cppで定義してあるのに、ヘッダにinline付けても何も言ってきません。
さらにprotectedなメンバ変数にfoo.barと直接アクセスしても何も言ってきません。

-Wallでコンパイルしても何も言わないのですが、これは正しい動作なんでしょうか?

177 名前:デフォルトの名無しさん mailto:sage [2006/07/15(土) 04:05:01 ]
>>176
よくわからんから、ソース貼ってみたほうがいいな。

178 名前:176 mailto:sage [2006/07/15(土) 04:37:59 ]
>>177
ちょっといじってみた所、protectedにアクセス出来る条件が絞れて来ました。
ソースは以下のような感じです。

class Foo {
protected:
union {
struct {
int x, y, z;
};
int vec[3];
};
};
ここで、x,y,zにアクセスできます。(vecは不可)。
ただの変数、無名共用体、無名構造体の列挙だけではアクセスできず、
共用体の中に構造体を入れることで、構造体の中身にアクセスできるようです。
バグのような気がしますが、私が知らないでけで言語仕様として正しいのでしょうか?

179 名前:デフォルトの名無しさん mailto:sage [2006/07/15(土) 07:36:14 ]
>>178
-std=c++98 とすると無名構造体がエラーになる。
g++ の拡張っぽいから、そこらへんでバグってそう。

180 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 15:41:26 ]
マイコン向けにbinutils,gcc等を揃え、クロス開発環境を作りました。
しかし、アセンブラの記述方がメーカーと違うようです。
具体的にはメーカー純正ではロングバイトのデータ定義が.data.l等出来るところgnuのasではエラーになります。
Error: unknown pseudo-op: `.data.l'

これってオプションか何かつけることで解決できないですか?
出来ないとするとどこで調べたらよいか教えてくダサい。



181 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 15:47:03 ]
置換でもしたら?


182 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 15:49:29 ]
置換ですか?

183 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 16:53:32 ]
通報しました

184 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 17:35:25 ]
180ですが、
大方のところはinfoに載っていそうです。
例えばバイト定義は.byte とか.intとやるようですね。

185 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 17:40:09 ]
info asでPseudo Opsのところ読んで。

186 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 17:53:18 ]
>>185
ありがとうございます。
解決しました。

実際にコンパイルしてみたら、また問題が起きたのですが、
こちらはクロスとか関係なく、gccの(as?ldの問題?)一般的な内容だと思うのですが、src0.s,src1,cがあるとして、
src0.sの方でベクタ定義するため
.org 0x0 #リセットベクタは0x0番地
.int _main #ここにmainのアドレスを埋め込む。mainはsh1.cで定義
として、
gcc src0,s src1,c -Txx.x
としました。

しかし、sレコードに変換してみてみると、上手く0x0番地にmainアドレスが埋め込まれません。

しかし、src1.sだけでコンパイルするとちゃんと出来ました。

asとかldに特別なオプションを与えなければ行けませんか?

187 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 17:57:03 ]
>>186
マップファイル見てどうなってるか調べろ。
それで問題なければSレコードへの変換に、なんか問題があるんだろ。

188 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 17:58:03 ]
>>186を補足させて頂きます。

質問の要旨は
.orgでロケーションカウンタを指定できるということなのですが、
複数ファイルにすると上手く行かない、なにが問題か?
ということです。

お分かりの方がいらっしゃいましたら、ご教授願います。

189 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 17:59:10 ]
>>187
ありがとうございます。
マップファイルとはリンカースクリプトのことでしょうか?

調べてみます。

190 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 18:06:33 ]
>>189
今度からは聞く前に調べろよ。



191 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 18:11:19 ]
>>190
マップファイルなんて聞いたことないのに調べようがねえんだよ馬鹿

192 名前:デフォルトの名無しさん [2006/07/16(日) 18:32:42 ]
日本語で喋れ

193 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 18:32:43 ]
>>191
検索エンジン使えよ。
www.google.co.jp/search?q=%E3%83%AA%E3%83%B3%E3%82%AB+%E3%83%9E%E3%83%83%E3%83%97%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB

194 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 19:05:32 ]
>実際にコンパイルしてみたら、
>また問題が起きたのですが、
>こちらはクロスとか関係なく、
>gccの(as?ldの問題?)一般的な内容だと思うのですが、
>src0.s,src1,cがあるとして、
>src0.sの方でベクタ定義するため.org 0x0 #リセットベクタは0x0番地.int _main #ここにmainのアドレスを埋め込む。

日本語でどうぞ。


195 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 19:10:56 ]
>>192,194
悔しさ一杯だなw
>>193も含めて、因果律つー単語調べてから出直せ。
マップファイルっつーキーワードを知らない段階でマップファイルを調べられるなんてことはどうしたら出来るんだ?


196 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 19:14:20 ]
>>195
なにいってんの? >>189 は「マップファイルとはリンカースクリプトのことでしょうか?」とか
聞いてるんだから、キーワードは知ってんじゃねーか。

197 名前:デフォルトの名無しさん [2006/07/16(日) 19:25:59 ]
>>196
マップファイル”なる用語が出てきたのは何時だ?

馬鹿でも解るだろうが、お前の言う>>189より前の>>187なんだよ。
>>189でマップファイルなる用語を持ちいたのは、とりもなおさず、因果的にそれ以前に値する>>187でその用語を含めたアドヴァイスが有ったからに他ならない。
どう捉えたら「マップファイル」なる答えの登場が、>>189以前になるんだ?

198 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 19:27:08 ]
>>197
なにいってんの? >>190>>189 へのレスなわけだが。

199 名前:デフォルトの名無しさん [2006/07/16(日) 19:31:55 ]
>>198
は?
その>>189が、>>187へのレスであることをわきまえるなら、>>197で言った通り>>190が的外れなことは自明なのだよ

200 名前:デフォルトの名無しさん [2006/07/16(日) 19:34:47 ]
>>189はマップファイルについて調べると言ってるんだから、>>190のように(マップファイルなんて知らない段階で)聞く前に調べろという理屈は通らないという訳だ。



201 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 19:44:14 ]
知らない自慢スレはどこですか?

202 名前:190 mailto:sage [2006/07/16(日) 20:01:19 ]
あー。
>>190>>189 の「マップファイルとはリンカースクリプトのことでしょうか?」っていう
質問に対するレスね。それより前のとは関係ない。混乱の元になったようで、申し訳ない。

203 名前:194 mailto:sage [2006/07/16(日) 20:25:48 ]
>>195
悔しいも何も、漏れはあっちこっちで指摘して回っているだけだよ。

204 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 21:00:24 ]
>>202
>あー。
>>190>>189 の「マップファイルとはリンカースクリプトのことでしょうか?」っていう
>質問に対するレスね。それより前のとは関係ない。混乱の元になったようで、申し訳ない。

だからそのレスがダメダメなんだって。
”マップファイル”を知らないのにどうして”マップファイル”を調べることが出来るの?

205 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 21:21:04 ]
>>189で「調べてみます」と言ったのは

マップファイルとリンカスクリプトとの異同を調べる

という事ではなく、

マップファイルとはどのようなものか知らないが探して調べてみる(まずリンカスクリプトのことだと仮定して調べてみる)

ということ。

206 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 21:29:39 ]
本当にここは役に立たないインターネットですね

207 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 21:47:18 ]
>>204
少なくとも187を読んだ時点で「マップファイル」という言葉がこの世に存在することはわかるはず。
ならばとりあえず、その意味を全く知らないとしてもマップファイルそのもので検索すると言う発想は出てくるだろう。

208 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 21:53:34 ]
答え:>>191からは質問者とは別人のプロの煽ラー(ただし程度は低い)

209 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 01:21:03 ]
「マップファイルについて調べてから来い」
じゃなくて
「マップファイルってものがある事くらい調べて来い」
といわれている可能性は考えないのか?

210 名前:デフォルトの名無しさん mailto:mage [2006/07/17(月) 07:15:52 ]
>>207
>少なくとも187を読んだ時点で「マップファイル」という言葉がこの世に存在することはわかるはず。
>ならばとりあえず、その意味を全く知らないとしてもマップファイルそのもので検索すると言う発想は出てくるだろう。

これは>>205を把握したうえで言ってるのだろうか?
>>205で説明されたとおり”調べてみます”は”マップファイルを調べてみます”を意味する。

で、そのマップファイルという単語の存在を知ったのは何時なのか。
いうまでもなく>>187の時点だ。
それ以前の事象である、質問>>186の時点では、”マップファイル”なる単語の意味を知らないだけではなく、その単語の存在自体を知らなかった状態だ。
存在すら知らないものをどうしたら前もって検索できるものなのか教えて欲しいものだ



211 名前:デフォルトの名無しさん [2006/07/17(月) 07:16:05 ]
考えられるほどの頭じゃないんでしょ

212 名前:デフォルトの名無しさん mailto:mage [2006/07/17(月) 07:16:36 ]
>>209
>「マップファイルってものがある事くらい調べて来い」
>といわれている可能性は考えないのか?

はぁ?そんな可能性を今更(というか>>209の書いた01:21:03ころになって)考える必要があると思うのか?
そういう意味の発言だとしたら本人>>190がそう弁明してるだろ。
お前のカキコの何時間も前からそのチャンスがありながら、>>202も含めて、それをしてないのに
今更なにが、可能性は考えないのか?だ、馬鹿。


仮りにそういう意味の発言であるならこのスレ的には無価値な煽りに過ぎない。
アセンブラについて初歩的な者に対して、すべての概念について前もって調べるなんてことが出来れば質問の意味がない。
そんな批判のやり方を許せば、質問疑問が含まれたあらゆる会話について、煽り屋に煽りのネタを提供することになる。

213 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 08:19:05 ]
どうでもいいようなことで盛り上がってますね、おまいら。

214 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 08:58:44 ]
>>212
ちげーよ
ある仮定を1つ言ってないだけさ


215 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 09:10:12 ]
>>214
ツマンネ

216 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 09:14:20 ]
>>210
そのとおり。>>186の時点では、マップファイルと言う言葉を知らなくてもおかしくない。
>>190の言う「聞く」とは>>189
「マップファイルとはリンカースクリプトのことでしょうか?」のことだと俺は思う。

217 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 09:47:56 ]
CGGって時々粘着が沸いて荒れるよね。
まあ、ある仮定を一つ言ってないだけなんだが。

218 名前:デフォルトの名無しさん [2006/07/17(月) 09:50:45 ]
>>216
だったらそれも無用な煽りに過ぎない。

マップファイルとリンカスクリプトの異同を調べてどうするというのだ?
それが別物だと解れば>>186の質問に直接の答えがでるというのか?もちろん出るわけではないのだ。
>>190はそんなことに拘ってるというわけだ。

>>189でとりあえずマップファイルを調べるとの結論が出てるのだから、
マップファイルとリンカスクリプトが同じなのか違うのかだけを対象に調査する必要なんかないのだよ。
マップファイルについて調べる段階でリンカスクリプトとは別物だということが解るのだから。
それで誤解したままであれば、それは本人の責任だというだけだ。

219 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 10:11:36 ]
> それが別物だと解れば>>186の質問に直接の答えがでるというのか?もちろん出るわけではないのだ。
そりゃそうだ。
すると190は別にマップファイルとリンカスクリプトの異同だけを調べろといったのではなく、
俺の推測だが単に一般論として、自分で調べると同時に掲示板で人に聞くなと言いたかったのではないかと思う。

220 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 10:32:34 ]
しかしなんだな、リンクマップを読むのに必要な知識は色々あるんだけど…
がんばって読めるようになって欲しいものである。
その一行煽りが何を意図してたかに関係なく、知らないって事実は変わらないからな。



221 名前:209 mailto:sage [2006/07/17(月) 10:43:54 ]
考えてないってんならそれでいいよ、がんばって後付けしなくても

222 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 12:27:00 ]
っていうかさ、なんでマップファイルごときを知らなかった奴が
偉そうなの?それがわからん。
それとも、別のキチガイが暴れてるだけ?

223 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 12:29:09 ]
>>221
おまえっていつもとんちんかんなことばかり言ってるのなw

224 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 12:30:39 ]
>>222
実際におまえより偉いからだろ

225 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 12:51:39 ]
>>222
>それとも、別のキチガイが暴れてるだけ?

最初からそうだよ。気付け。

226 名前:デフォルトの名無しさん [2006/07/17(月) 13:05:11 ]
お前ら暇だね

227 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 13:37:02 ]
>>223
レス番を=で結んで勝ち誇るタイプ

228 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 13:47:20 ]
>>223=>>227

229 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 16:07:45 ]
おまえら…外はいい天気だぞ。たまの休日くらい遊びに行け

230 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 16:40:14 ]
>>229がどこらへんに住んでるかバレバレな件について。
weather.yahoo.co.jp/weather/



231 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 17:26:20 ]
ワロス

232 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 21:56:57 ]
Mingwのバイナリをインストールしたらインストールしたディレクトリ
から相対的にたどってライブラリとかインクルードファイルとか探してくれるよね。
ソースからビルドした場合には絶対パスで探してるっぽいんだが、これはなんで?
適当なパッチとかあるの?

233 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 22:24:43 ]
make option

or

.configure option

234 名前:デフォルトの名無しさん mailto:sage [2006/07/20(木) 01:06:21 ]
いつのまに
printf("%08x", (L"ホゲホゲ")[0]);
が正しく表示されるようになったんだね

235 名前:デフォルトの名無しさん mailto:sage [2006/07/20(木) 08:16:18 ]
んなもん、昔からprintf("%s", "printf(\"%08x\", (L\"ホゲホゲ\")[0]);");で表示できるだろ。

236 名前:デフォルトの名無しさん mailto:sage [2006/07/20(木) 15:40:11 ]
3回まわって「わん」って言ってみな
「さんかいまわってわん!」

237 名前:232 mailto:sage [2006/07/20(木) 19:49:24 ]
>>233
わかった。configureのときに--enable-win32-registryをつければいいんだな。

238 名前:デフォルトの名無しさん mailto:sage [2006/07/23(日) 22:57:53 ]
linuxだとsizeof(wchar_t)が4だった
やる気なくした...

239 名前:デフォルトの名無しさん mailto:sage [2006/07/23(日) 23:05:36 ]

4バイトじゃないと足りないと思うが…


240 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 00:15:24 ]
-fshort-wcharにするとリテラルもshortになるのか
でもlibraryは4bytesだよなあ・・・
うわあ使えねえ



241 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 00:28:25 ]
はぁ、何がしたいんだ?

242 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 00:29:40 ]
釣りだろ

243 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 00:30:00 ]
まさか-fshort-wcharでlibstdc++ビルドするのか?
勘弁してくれよ・・・
はぁ・・・

244 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 00:42:31 ]
一人言だな


245 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 00:45:46 ]
まぁ勝手に使えないと思っとけばいいんじゃないか。
困るのは俺らじゃないし。

246 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 00:57:54 ]
こりゃ参った、誰も使ってねえなこれは
そうそういに手を引いたほうがよさそう
しかしタチわるいなあ

247 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 00:59:14 ]
ここはお前の日記帳じゃねぇぞw

248 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 01:30:00 ]
逆に言えば英米人のプログラマだって、
初めてUTC-2やらUTF-16やらを使う羽目になったときの感想はそんなだったと思うよ。

そこは慣れるしかない。

249 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 01:42:32 ]

象形文字のせいでやたら文字がいっぱいある言語だと思われてるからなぁ


250 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 03:11:37 ]
まともに多言語やろうとすると、4Byteは必要なんじゃないかな。
2Byteじゃ可変か、モード切替になる。



251 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 03:37:35 ]
流石に UCS4 くらいは知っていると思いたいけど…

252 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 07:42:36 ]
>>251
ちげーよ
ある仮定を1つ言ってないだけさ

253 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 08:41:29 ]
聞きたくない

254 名前:デフォルトの名無しさん [2006/07/24(月) 09:30:07 ]
聞く価値も無い

255 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 20:27:40 ]
このwchar_tへのこだわり・・・cannaの作者?


なわけないよな

256 名前:デフォルトの名無しさん mailto:sage [2006/07/25(火) 07:17:21 ]
wchar_tなんぞ使うかボケ

257 名前:デフォルトの名無しさん [2006/07/27(木) 16:08:40 ]
初心者でかつ、少しスレッドが違うかも知れないですが、
Windows XPのcygwinにてgdbでデバッグを行っています。
(GNU gdb 6.3.50_2004-12-28)

watchコマンドでグローバル変数のwatchはできたのですが、
watchコマンドにより関数内の変数(ちなみにstatic変数です)を
watchする方法が分かりません。

これはそもそも、できないことなのでしょうか?
もし方法があるなら教えていただきたいです。

258 名前:デフォルトの名無しさん mailto:sage [2006/07/27(木) 16:39:07 ]
関数のあるところまで実行する

ヒント:スコープ

259 名前:デフォルトの名無しさん [2006/07/27(木) 16:58:32 ]
>> 258

watch 関数名::変数名
でwatchすることができました。
どうもありがとうございました。

260 名前:デフォルトの名無しさん [2006/08/09(水) 02:21:09 ]
全く初心者でわからないので教えてください。
Cygwinで

$ gcc test.c

と入れたら a.exe というファイルができました。

$a.exeと入力してもノットコマンドで実行できません。
実行の仕方教えてくださいお願いします。



261 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 02:21:35 ]
./a

262 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 02:22:31 ]
>>261
超迅速にありがとう。
マジで感謝です。

263 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 03:34:00 ]
ノットコマンドて……

264 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 03:48:45 ]
最近&foo[2]と書くひとが増えていますが、
なにかfoo+2で困ることがあるのでしょうか?

265 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 04:38:21 ]
>>264
std::vector と互換しない。

266 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 07:28:49 ]
std::fill(&foo[0][0], &foo[2 - 1][3 - 1] + 1, 0)

267 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 12:30:55 ]
ありがとうございます。
>>265 つまり日頃から&foo[n]と書く癖をつけるという事ですね
>>266 2つめの引数の+1は問題にはならないのですか?

268 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 12:46:08 ]
iterator + 1

269 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 13:27:45 ]
>>268 std::fill()の最初2つの引数はイテレータなんですね。
だからp1=p2の時++p1==p2+1は1だからこそ成り立つってことかし?
うーん、もっと勉強してきます。ありがとうございました。

270 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 13:32:26 ]
>>269
全然違う



271 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 22:35:28 ]
「全然違う」書くだけなら小学生でも(略

272 名前:デフォルトの名無しさん mailto:age [2006/08/09(水) 22:36:07 ]
あげとこう

273 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 23:18:15 ]
小学生ですが何か?

274 名前:デフォルトの名無しさん mailto:sage [2006/08/10(木) 00:00:01 ]
付き合ってください

275 名前:デフォルトの名無しさん mailto:sage [2006/08/10(木) 14:12:44 ]
ごめんなさい


276 名前:デフォルトの名無しさん mailto:sage [2006/08/10(木) 16:00:39 ]
intel core microarchitecture 用の最適化の開発ってはじまってる?

277 名前:デフォルトの名無しさん [2006/08/14(月) 09:03:09 ]
gccの内部構造に関して解説した文章ってありますか?

278 名前:デフォルトの名無しさん mailto:sage [2006/08/14(月) 09:55:12 ]
info

279 名前:デフォルトの名無しさん mailto:sage [2006/08/14(月) 10:04:29 ]
>>277
wikiwiki.jp/aloha/


280 名前:デフォルトの名無しさん mailto:sage [2006/08/15(火) 21:18:02 ]
>>277 gcc.gnu.org/onlinedocs/gccint/



281 名前:デフォルトの名無しさん [2006/08/17(木) 21:45:35 ]
Javaで書いたルーチンをgcjでコンパイルしてライブラリ作って
C,C++から呼び出すってたぶん可能ですよね
どっかいい解説はないでしょうか?

それとも無理なんかな


282 名前:デフォルトの名無しさん mailto:sage [2006/08/17(木) 21:51:35 ]
キーわかってんならググレ このカスが!
専用スレもあるってのに。


283 名前:デフォルトの名無しさん mailto:sage [2006/08/18(金) 08:54:11 ]
>>281
JVMの初期化APIあたりについてはマニュアルを読みましょう.
* gcc.gnu.org/onlinedocs/gcj/Invocation.html#Invocation
* www.asahi-net.or.jp/~wg5k-ickw/html/online/gcj-3.2.1/gcj-ja_12.html#SEC47
ライブラリをどう作っていいかわからんとかのレベルならgcjとか諦めた方が無難…

284 名前:デフォルトの名無しさん mailto:sage [2006/08/18(金) 09:39:05 ]
>>283
レスをどうもありがとうございます.
C++側からJavaクラスのメッソドを呼び出すのに成功しました.
ライブラリはいくつか作ってるので大丈夫ですが
Javaの方がサッパリなので,これから学んでみようと思います.
どうもありがとうございました.


285 名前:デフォルトの名無しさん [2006/08/18(金) 16:37:24 ]
一応あげておくか。

286 名前:デフォルトの名無しさん [2006/08/18(金) 17:51:47 ]
>>282
最近の子は切れやすいね〜

287 名前:デフォルトの名無しさん mailto:sage [2006/08/18(金) 18:24:50 ]
切れてないですよ
俺切れさせたら大したもんだよ

288 名前:デフォルトの名無しさん mailto:sage [2006/08/18(金) 19:17:47 ]
>>287
hage

289 名前:デフォルトの名無しさん [2006/08/19(土) 12:25:27 ]
シグナルハンドラの中で使用する大域変数の型は
volatile sig_atomic_t でなければいけないと書いてあるですが
率直に言って何故なんでしょうか?

volatile は最適化の影響を避けるためというのは理解できますが、
volatile int でも良いと思うのですが。

sig_atomic_t は一つの機械語命令で実行できるとなっていますが
そうでなければいけない理由って何でしょうか?

290 名前:デフォルトの名無しさん mailto:sage [2006/08/19(土) 13:16:17 ]
その変数をセットする命令列の途中でシグナルが発生する可能性があるから。
たとえば変数が64ビット整数だとして、上位32ビットをセットする命令と
下位32ビットをセットする命令の2つでアクセスが構成される場合、
シグナルハンドラの中で有効な値がとれる保証がない。




291 名前:デフォルトの名無しさん mailto:sage [2006/08/19(土) 14:06:54 ]
>>290
レスありがとうございます。

挙げていただいた例に従うと、
上位32ビットをセットする命令の実行後、下位32ビットをセットする命令の
実行前にシグナルが発生したら問題になるということですね?

かなりきわどい条件ですが、発生したらデバッグできなそうです。

292 名前:デフォルトの名無しさん mailto:sage [2006/08/29(火) 01:46:24 ]
SSEとかってみんなインラインアセンブラで書いてるの?
それとも組み込み?内臓?

293 名前:デフォルトの名無しさん mailto:sage [2006/08/29(火) 07:59:44 ]
ヒント SIMD最適化

294 名前:デフォルトの名無しさん mailto:sage [2006/08/29(火) 13:19:44 ]
自分でも書くだろ。

295 名前:デフォルトの名無しさん mailto:sage [2006/08/29(火) 21:05:00 ]
asm文

296 名前:デフォルトの名無しさん mailto:sage [2006/08/29(火) 22:32:03 ]
int main(viod){
_asm{

}
return 0;
}

297 名前:デフォルトの名無しさん mailto:sage [2006/08/29(火) 23:33:46 ]
memalignとか__mm_mallocとか使えるならそれでもよさげなんですが

298 名前:デフォルトの名無しさん mailto:sage [2006/08/30(水) 00:30:58 ]
最適化微妙だけど、gcc4.1使ってSIMD最適化して
それを見ながらasmするってのが趣がありそうなのでやってみることにします

299 名前:デフォルトの名無しさん mailto:sage [2006/09/03(日) 14:02:23 ]
gcc.gnu.org/wiki/GCC_4.3_Release_Planning

300 名前:デフォルトの名無しさん mailto:sage [2006/09/03(日) 17:52:11 ]
300



301 名前:デフォルトの名無しさん mailto:sage [2006/09/06(水) 00:37:34 ]
gcc3 とgcc4 を SPECint で比較した資料ありますか?

302 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 02:52:36 ]
for(int i=0;i<10;i++){
 :
 :
}

このコードでエラーを吐かれたときからGCCが嫌いになった。それだけ

303 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 05:13:50 ]
ばかキタ-

304 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 06:14:15 ]
>>303
ちげーよ
ある仮定を1つ言ってないだけさ

305 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 06:57:55 ]
やっぱり>>303であってるじゃないかー

306 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 07:44:31 ]
>>304
バカがキタことになってるよ
詳しく

307 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 12:18:56 ]
    [919]デフォルトの名無しさん 2006/03/19(日) 08:52:45
    >>918
    ちげーよ
    ある仮定を1つ言ってないだけさ

これ何か流行ってるの?
それともやっぱり >>303 なの?

308 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 13:45:06 ]
暇なので。
>>302
自分のミスに気づかないだけならまだしも、それが他人のミスであることを前提に話をすすめるのは典型的なできないプログラマだ。
infoも読めない自分を嫌いになれ。

`-std='
Determine the language standard. This option is currently only
 supported when compiling C or C++. A value for this option must be
 provided; possible values are
(略)
 `c99'
 `c9x'
 `iso9899:1999'
 `iso9899:199x'
  ISO C99. (ばっさり略)

 `gnu89'
  Default, ISO C90 plus GNU extensions (ばっさり略)

309 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 14:18:54 ]
error: 'for' loop initial declaration used outside C99 mode

310 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 15:05:04 ]
manは読むけどinfoは読まないな
インターフェイスが嫌い



311 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 15:27:38 ]
禿げて同意

312 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 17:23:09 ]
infoのほうが、大抵詳しく書いてあるのですき。
interfaceも好き。


313 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 01:20:20 ]
俺も info は嫌いだな。
インターフェイスが嫌なのもあるけど、既に man があるのに別の仕組みを
押し付けられる感じが嫌だ。

314 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 01:31:20 ]
楽して調べたいわけですよ
infoは操作がメンドイ


315 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 01:47:31 ]
つかinfoならhtmlでいいじゃねぇかと思うことしきりなんだけどなぁ。


316 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 01:53:03 ]
htmlでいいなら、info2htmlでいいじゃん。

infoがperlのmanみたいにできるといいな。

perl(1)より

Overview

perl Perl overview (this section)
perlintro Perl introduction for beginners
perltoc Perl documentation table of contents

Tutorials

perlreftut Perl references short introduction
perldsc Perl data structures intro
perllol Perl data structures: arrays of arrays

perlrequick Perl regular expressions quick start
perlretut Perl regular expressions tutorial
(ry

317 名前:デフォルトの名無しさん mailto:sage [2006/09/17(日) 20:58:34 ]
共有ライブラリのsonameをバイナリの状態で書き換える方法ってないものでしょうか?

ソースコードからmakeして、ldのオプションで設定するっていうのは無しの方向で考えているんですけど...。

318 名前:デフォルトの名無しさん mailto:sage [2006/09/17(日) 23:33:24 ]
>>317
つ LD_PRELOAD


319 名前:デフォルトの名無しさん mailto:sage [2006/09/25(月) 02:46:40 ]
>>292
xmmintrin.h これ定説。


320 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 21:38:37 ]
すみません。質問です。
C#で、メモリが開放されるタイミングってどんなときでしょうか?
プログラム内で今開放してって指定できないでしょうか?



321 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 22:42:48 ]
>>320
誤爆?

322 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 02:19:06 ]
GCの質問なんだが。

323 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 02:23:08 ]
>35-37

324 名前:デフォルトの名無しさん [2006/10/09(月) 02:42:55 ]
gccでC#ってコンパイルできたっけ?

325 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 08:12:41 ]
>>324
ちげーよ
ある仮定を1つ言ってないだけさ

326 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 09:42:50 ]
>>324
www.dcl.hpi.uni-potsdam.de/research/lego.NET/

327 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 13:09:28 ]
gccではgetche();の関数は使用できませんか?

328 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 13:15:28 ]
>>327
なんでそんなこと聞くんだ。
やってみりゃいいじゃないか。
あと、includeディレクトリをgrep

329 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 13:28:38 ]
>>328
当方Win XPにCygwinの環でございます。

#include <conio.h>
を入れたソースをコンパイルしようとするとconio.hがみつから無いようなことが返されます。

当方の環境では
C:\cygwin\usr\include\mingw
の位置にconio.hは確認することが出来たんですが。
C:\cygwin\usr以下に
conio.hとにコピーしたら_mingw.hが無い、_mingw.hをコピーしたら_getcheが無いようなことを言われました。
確かにconio.hの中には_getche (void)の記述はあったんですがどうにも動いてくれません。
当方Cygwin+gccの環境初心者の為すみません。

330 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 17:59:36 ]
つまり、mingwを使いたいと言いながらgccを使っているわけだ。



331 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 18:35:45 ]
>>329 -mno-cygwin

332 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 15:33:30 ]
gcc-3.3とgcc-4.1.1がインストールされてて今は普通にgccって実行したらgcc-4.1.1が起動するんだけど、
これをgcc-3.3にする方法ないですか?-V 3.3付けるとかじゃない方法で。

333 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 16:40:38 ]
つgcc-config

334 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 16:42:44 ]
つgcc-config

335 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 17:17:55 ]
>>333
>>334
ない。

336 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 18:14:31 ]
ないものは作れ。

337 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 18:28:26 ]
ちょ、おま

338 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 18:43:01 ]
パス

339 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 20:32:52 ]
cygwinにgcc3.4.6が

340 名前:デフォルトの名無しさん [2006/10/15(日) 20:08:00 ]
軽い気持ちでgcc 3.4.6をビルドしようとしたら半日経っても終わらない。

そらcygwinの中の人の腰が重いわけだ。



341 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 20:14:50 ]
逆にGCC 4.1.1をCygwin上でビルドしたが、数時間で終わった。

342 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 20:29:42 ]
GCC4.1.1をMinGWにインストールする方法を教えてください。

343 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 20:31:51 ]
とりあえずセルフビルドなら特に問題は生じない。

344 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 20:33:25 ]
Cygwin GCC 3.4.6作るには

ftp://ftp.dti.ad.jp/pub/lang/gcc/releases/gcc-3.4.6/gcc-3.4.6.tar.bz2
とGDCとGPCを落として解凍して

./configure --verbose --prefix=/usr --exec-prefix=/usr
--sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib
--mandir=/usr/share/man --infodir=/usr/share/info
--enable-languages=c,ada,c++,d,f77,pascal,java,objc
--enable-nls --without-included-gettext --enable-version-specific-runtime-libs
--without-x --enable-libgcj --disable-java-awt --with-system-zlib
--enable-interpreter --disable-libgcj-debug --enable-threads=posix
--enable-java-gc=boehm --disable-win32-registry --enable-sjlj-exceptions
--enable-hash-synchronization --enable-libstdcxx-debug
の後
make CFLAGS='-O' LIBCFLAGS='-g -O2' LIBCXXFLAGS='-g -O2 -fno-implicit-templates' bootstrap

…でいいんだよね?

345 名前:デフォルトの名無しさん mailto: [2006/10/15(日) 20:44:04 ]
>>344
成功したら配布きぼん。

346 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 21:00:11 ]
>>342
gcc.gnu.org/ml/gcc/2006-09/msg00044.html
gcc.gnu.org/ml/gcc/2006-08/msg00583.html

gcc.gnu.org/gcc-4.1/buildstat.html

347 名前:340 [2006/10/15(日) 22:36:40 ]
いい加減キレそうだ…もう寝る。
で、起きた頃にはエラーで止まってるんだろ。
俺の人生そんなもんよ。

348 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 22:38:05 ]
がんばれ。とにかくがんばれ。人生がんばるしかない。

349 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 22:44:58 ]
bootstrapだと、自分を三回コンパイルするんだっけ

350 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 23:04:49 ]
古いgccでコンパイルした新しいgccでコンパイルしたgccで更にコンパイルするんだっけ?



351 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 23:28:20 ]
こうかな?
・まず3.4.5とかで3.4.6を作る
・作った3.4.6でもう一回作る。これが「3.4.6で作った3.4.6その1」となる。
・更に「3.4.6その1」で「3.4.6その1で作った3.4.6その2」を作る。
・「3.4.6その1」と「3.4.6その2」のオブジェクトを比較して同じならOK。
 何か一つでも違っていたら3.4.6は3.4.6でも
 場合によって違うものを作り上げるイケてない3.4.6ということだからエラーで止まる。

だからGCC作者自身がbootstrapはやるべきだと言ってるのか。

352 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 23:45:45 ]
最初に使う3.4.5はどうやって作ったの?

353 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 23:51:00 ]
あーもう。
だれかバイナリ上げれば済むこったろ。
待っとけ。





俺はやらないけどな。

354 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 23:56:58 ]
>>352
3.4.4で作るに決まってるん

355 名前:デフォルトの名無しさん [2006/10/15(日) 23:58:19 ]
決まってるん

356 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 00:46:43 ]
>>354
じゃあその3.4.4はどうやってくつったのよ?

357 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 00:54:33 ]
3.4.3で(以下略

358 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 01:10:58 ]
くつった

359 名前:デフォルトの名無しさん [2006/10/16(月) 01:12:37 ]
じゃあその3.4.3を作った3.4.2を作った3.4.1

(中略)

一番最初はどうやって作ったのよ?

360 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 01:15:49 ]
別のCコンパイラ



361 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 01:18:30 ]
>>351ほか
理想論では、Cコンパイラがあればstage1をビルドできる。
stage2以降は先行stageなgccでビルドするから問題なし。

現実的には、3.4.xは3.3.x以降ならだいたいビルド可能な感じかな。
3.0.xあたりだと微妙かも。2.95とかはトラップがあったような。
gccのソースコード内にgcc依存な記述がどのぐらい入っているのかはよく知らん。
完全に標準C準拠な記述だけなら使う側は幸せだけど、きっとそんなことはないな。

Q. このCコンパイラはどうやってビルドしたの?
A. 別のCコンパイラを使ってコンパイルした
Q. その別のCコンパイラは(ry

…最初だけは適当なバイナリ使え。


362 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 01:23:39 ]
一番最初までさかのぼると機械語で直にコーディングした強者にたどり着くのだろう

363 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 01:39:10 ]
>>362
つクロスコンパイラ

Q. このクロスコンパイラはどうやってビルドしたの?
A. 別の(ry

まあほんとの最初はやっぱり機械語なはずだな。
Cが生まれた頃には別の高級言語やアセンブリ言語があったから、
機械語から直接Cに来たってことはないだろうけど。
ttp://en.wikipedia.org/wiki/C_%28programming_language%29


364 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 02:47:05 ]
GCCの起源をさかのぼると紙テープになるってか?

365 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 03:09:31 ]
 ∧ ∧
<丶`∀´> 

ウリナラがこのスレに興味を持ったようです。

366 名前:デフォルトの名無しさん [2006/10/16(月) 12:41:55 ]
俺も今朝出るときビルド仕掛けた。
帰る頃には終わってるだろう。

367 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 14:03:15 ]
>>362
つ BASICインタプリタ

368 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 15:18:52 ]
>>367
そのBASICインタプリタはアセンブラで書かれていなかったかい?

369 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 16:39:25 ]
>>361
Wikipedia日本語版に、GCCはK&R Cで書かれているとあるが、実際のところどうなんだろう?

370 名前:デフォルトの名無しさん mailto:sage 「K&R C」を「Turbo C」とか「MS C」みたいのだと思ってる? [2006/10/16(月) 17:25:14 ]
ソース見ればわかるじゃん。



371 名前:デフォルトの名無しさん mailto:sage それはない [2006/10/16(月) 17:33:10 ]
どう見てもANSI Cです。(関数宣言のあたり)
ってGREPすると__attribute__も少しは見かけるな。

372 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 17:51:02 ]
環境:cygwin+3.4.4-2シリーズ

ftp://ftp.dti.ad.jp/pub/lang/gcc/releases/gcc-3.4.6/gcc-3.4.6.tar.bz2
www.gnu-pascal.de/alpha/gpc-20060325.tar.bz2

解凍後
./configure --verbose --prefix=/usr --exec-prefix=/usr
--sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib
--mandir=/usr/share/man --infodir=/usr/share/info
--enable-languages=c,ada,c++,f77,pascal,java,objc
--enable-nls --without-included-gettext --enable-version-specific-runtime-libs
--without-x --enable-libgcj --disable-java-awt --with-system-zlib
--enable-interpreter --disable-libgcj-debug --enable-threads=posix
--enable-java-gc=boehm --disable-win32-registry --enable-sjlj-exceptions
--enable-hash-synchronization --enable-libstdcxx-debug

make CFLAGS='-O' LIBCFLAGS='-g -O2' LIBCXXFLAGS='-g -O2 -fno-implicit-templates' bootstrap

make install

できた。

373 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 21:19:40 ]
>>372
乙彼サマですっ(゚Д゚)>ビシッ

374 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 02:55:16 ]
俺もできることはできたんだけど何故かディレクトリ設定がしっちゃかめっちゃかになっていて
Cygwinのインストーラーで入れるgccバイナリのように何も考えずに使うことはできない状態。
やっぱりCygwinによくなじむgccはCygwinの中のおっさんにしか作れないのかもしれない。
けどおっさんは例え3.4.4に不具合報告されていようと自分自身がその不具合に遭遇しない限り
ビルドする気なさげっぽいんだよな。

375 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 08:34:07 ]
説得する側の説得力と貢献が足りないのでは?

376 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:42:18 ]
というわけでCygwinからMinGWに鞍替えします。

377 名前:デフォルトの名無しさん [2006/10/18(水) 22:52:49 ]
xxx.upken.jp/up/download.php?id=0003e2ab94c1ad3efd7ed5178e4a1b8476494706

”MinGW用”GCC 3.4.6バイナリ
Pass:mingw

有効期限は3日、ダウンロードは5回までです。

378 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:18:35 ]
転載要る?

379 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:37:12 ]
( ^ω^)

380 名前:デフォルトの名無しさん mailto:sage [2006/10/19(木) 02:19:58 ]
スレの住人数的に5人で十分つーか普通は自分で作れるっしょ。



381 名前:デフォルトの名無しさん mailto:sage [2006/10/19(木) 18:10:19 ]
自分で作れない奴は使えなくていいんだよ

382 名前:デフォルトの名無しさん mailto:sage [2006/10/19(木) 18:53:15 ]
gccのコンパイルは自分でやったこと無いけど、
某g*cはコンパイルに丸一日かかると聞いたので
時間が惜しい人もいるかなあ、と。

383 名前:デフォルトの名無しさん mailto:sage [2006/10/19(木) 20:39:49 ]
そんなに時間が惜しければ、寝ていたり出かけていたりする間にやらせれば良いだけ。

384 名前:デフォルトの名無しさん mailto:sage [2006/10/19(木) 21:33:05 ]
自分でやりたくなければ、バイナリが配布されるのを待てばいいじゃない

385 名前:デフォルトの名無しさん mailto:sage [2006/10/19(木) 21:41:31 ]
半年以上待ってます。

386 名前:デフォルトの名無しさん mailto:sage [2006/10/19(木) 21:47:36 ]
--enable-languages=c,c++
だったらすぐじゃん。

java→SUN使え
pascal→でるふぃ使っとけ
ada→知らん
f77→知らん
objc→知らん

387 名前:デフォルトの名無しさん mailto:sage [2006/10/20(金) 00:59:57 ]
c++を友好にするだけでけっこうかかるぞ。
それにやっぱ今はjavaを有効にしてネイティブコンパイルするのがトレンドじゃないか。

388 名前:デフォルトの名無しさん mailto:sage [2006/10/20(金) 01:06:15 ]
>>387
どうせ不安定

389 名前:デフォルトの名無しさん mailto:sage [2006/10/20(金) 17:36:58 ]
>>388
そこが萌える

390 名前:デフォルトの名無しさん mailto:sage [2006/10/20(金) 18:22:23 ]
>>389
ツンデレ?



391 名前:389 mailto:sage [2006/10/20(金) 18:41:30 ]
>>390
今のgcjはツンデレどころかツンツン
#とくにWin32環境では…

392 名前:デフォルトの名無しさん [2006/10/23(月) 00:41:56 ]
pc8.2ch.net/test/read.cgi/tech/1153583131/l50
停止しました

393 名前:デフォルトの名無しさん mailto:sage [2006/10/23(月) 07:53:02 ]
gccとはちと離れますが、
gasでのIA32のニーモニックやオペランドの表記方法について解説した文書ないですか?

394 名前:デフォルトの名無しさん mailto:sage [2006/10/23(月) 08:11:31 ]
本でいいならCQ出版のx86アセンブラ入門
Webならググレ

395 名前:デフォルトの名無しさん mailto:sage [2006/10/23(月) 18:32:24 ]
ぐぐってもちゃんとしたのは出てこないな。サワリだけのページならあるけど。

396 名前:デフォルトの名無しさん mailto:sage [2006/10/23(月) 21:48:43 ]
>>393
mysearch.intel.com/corporate/default.aspx?culture=en-US&q=IA-32+Architectures+Software+Developer%27s+Manual


www.linux.or.jp/JF/JFdocs/Linux-Assembly-4.html

> gasの欠点はgasがAT&T-syntaxを使っていることです。これは
> Intel-syntaxと大きく違っています。 DOSユーザーはほとん
> どがIntel-syntaxを使っています。


AT&T Assembly Syntax | Sig9
sig9.com/articles/att-syntax


がんがれ>>393

397 名前:デフォルトの名無しさん mailto:sage [2006/10/24(火) 00:52:06 ]
>>393
homepage1.nifty.com/herumi/prog/prog14.html
www.mars.sannet.ne.jp/sci10/on_gcc_asm.html

398 名前:デフォルトの名無しさん mailto:sage [2006/10/24(火) 02:04:20 ]
>>393
gas付属のinfoは?

399 名前:393 mailto:sage [2006/10/24(火) 04:46:38 ]
>>396-397
ありがとうございます。
教えていただいたページを参考になんとかなりそうです。

>>398
私は英語がダメで……というわけでもないんですが
一遍見たのですがgasの文法しか書いてないと思ってしまってました。
ご指摘を受けてもう一度よく見直したらMachine Dependent Features
という節があってそこになんか書いてありますね(アセ
やっぱ英語ダメなのか。

400 名前:デフォルトの名無しさん [2006/10/25(水) 14:48:44 ]




401 名前:デフォルトの名無しさん mailto:sage [2006/10/25(水) 14:54:58 ]
>>400
ageてまでする話じゃないな

402 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 00:30:48 ]
ftp://gcc.gnu.org/pub/gcc/snapshots/ に 4.3 ができてた。
よく知らないが、そろそろ 4.2 がリリースされるんかな。


403 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 00:34:07 ]
へぇ、branch切ったんだ。
gcc.gnu.org/gcc-4.2/changes.html
魅力的な要素があまり無いなぁ。

404 名前:デフォルトの名無しさん mailto:age [2006/10/26(木) 03:15:11 ]
>>401


405 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 03:59:43 ]
えぇっ、フリーのOpenMPはでかいんじゃないのかいな。

ていうかなんでfastjar消されるの?

406 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 04:44:29 ]
所詮ただのZIPだから。

407 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 15:14:53 ]
やっぱそうだったんだorz

408 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 13:28:01 ]
>>405
はげどう。
>>403 はこのままだとマルチコア時代を生き抜けないぞ。


409 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 19:20:42 ]
ただでさえ4.*はバージョンが古くないと問題ないはずのソースがコンパイルできなかったり
まさに発展途上だからなぁ。

410 名前:デフォルトの名無しさん mailto:sage [2006/10/29(日) 02:50:55 ]
安定してるバージョンはなに?



411 名前:デフォルトの名無しさん mailto:sage [2006/10/29(日) 07:50:12 ]
3.4.4

412 名前:デフォルトの名無しさん mailto:sage [2006/10/29(日) 18:15:19 ]
3.4.6が3.*の最終版だがffdshowの改良版がコンパイルできないそうだ。
ffdshowの改良版がまともにコンパイルできるのは4.0.2”だけ”で
4.0.1でも4.0.3以降でもダメらしい。
つまり4.*はもちろん、もう更新されない3.4.6ですら未完成な部分がある。
修正するガッツを持っている人間はネットをググった程度じゃ出てこない。

413 名前:デフォルトの名無しさん mailto:sage [2006/10/29(日) 18:20:42 ]
>>412
ffdshowの改良版とやらの方の不備ではないのか?

414 名前:デフォルトの名無しさん mailto:sage [2006/10/29(日) 18:21:00 ]
>>412
そもそもGCCのコードを弄れる奴が世界に何人いるかだ。

415 名前:デフォルトの名無しさん mailto:sage [2006/10/29(日) 19:20:10 ]
gccのコードほど複雑怪奇なものはないと思うんだが。

416 名前:デフォルトの名無しさん mailto:sage [2006/10/30(月) 00:59:12 ]
>>414
CygwinとMingwの中の人なら平気で弄ってるよな。いや、平気じゃなくて根性かもしれんけど。

417 名前:デフォルトの名無しさん [2006/10/30(月) 12:45:43 ]
コンジョだコンジョ

418 名前:デフォルトの名無しさん mailto:sage [2006/10/30(月) 22:05:16 ]
カスミン懐かしい…

って板違いだな

419 名前:デフォルトの名無しさん mailto:sage [2006/10/31(火) 21:18:28 ]
参考までにffdshowの改良版
svn co https://svn.sourceforge.net/svnroot/ffdshow-tryout ffdshow-tryout

作ってる人たち自身がGCCなら4.0.2じゃないとダメと言ってるからソースに問題はないと思うんだが。
ちなみに3.4.6ではInternal Compiler Errorが出てコンパイルできなかった。(/src で make)

420 名前:デフォルトの名無しさん mailto:sage [2006/11/01(水) 07:39:23 ]
>>412
>つまり4.*はもちろん、もう更新されない3.4.6ですら未完成な部分がある。
この結論がおかしい。最後の数パーセントを完璧にするには数百倍の努力を必要とする。





421 名前:デフォルトの名無しさん mailto:sage [2006/11/01(水) 08:13:53 ]
別にその結論自体はおかしくないと思うけど

422 名前:デフォルトの名無しさん mailto:sage [2006/11/01(水) 09:07:53 ]
そっか、ならよかった

423 名前:デフォルトの名無しさん mailto:sage [2006/11/01(水) 14:50:50 ]
>>420の文の意味がよく分からん。
残り数%の未完成が判明しても最終版は完成とみなすの?

424 名前:デフォルトの名無しさん mailto:sage [2006/11/01(水) 14:58:50 ]
>>423
たぶん、「ですら」ってとこに違和感感じてるんじゃないの?
完璧にするのは長時間かかるんだから、もちろんあるだろうということで。

425 名前:デフォルトの名無しさん mailto:sage [2006/11/01(水) 18:23:24 ]
俺は普通に読んで「ですら」ってのは「完璧じゃないんですよということを強調」する意味で
特に違和感ないと思ったんだが。
「結論がおかしい(=間違ってる)」というのが何を意味するのか俺も分からん。
「もちろんあるだろう」ならそのまま「そりゃそうだろ」で済むからそれは違う気がする。

文系じゃないので深読みはしなかった。国語苦手だよ。

426 名前:デフォルトの名無しさん mailto:sage [2006/11/01(水) 22:19:12 ]
coutで文字列を出力した後にwcoutでワイド文字を出力すると文字化けする。
逆もそう。gcc4.0.2(vine3.2)。

うちの環境だけ?

427 名前:デフォルトの名無しさん mailto:sage [2006/11/01(水) 23:32:21 ]
具体的なコードでくれ

428 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 01:28:42 ]
>>423
gccくらいのサイズのソフトウェアは完成することはない。

429 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 02:00:49 ]
どれくらいのサイズのソフトウェアなら完成しますか?

430 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 02:18:52 ]
>>425
「ですら」は「容易であるのにも関わらず」というニュアンスを持っているけど、
>>423 は「本当は容易じゃないんだぜ」って事を言いたいんじゃないかな。

>>412 は、機能追加が無いから 4.* よりは「容易であるのにも関わらず」
という話だから、用法を間違ってる訳じゃないんだけどね。

>>429
「完成したソフトウェア」を定義出来ないから、サイズに関わらず無理という
結論が返って来るに 100 ルピー。



431 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 03:39:32 ]
>「ですら」は「容易であるのにも関わらず」というニュアンス
どこの国のニュアンスだよ
dictionary.goo.ne.jp/search.php?MT=%A4%B9%A4%E9&kind=jn&mode=0&base=1&row=0



板違いだからよそでやれ


432 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 06:43:05 ]
ですらー総統万歳

433 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 08:23:34 ]
Wikipediaの記事酷いな
悪意を持った半可通ほどタチの悪いもんはない

434 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 16:36:54 ]
質問します
ある統計データのグラフを画像として出力するプログラムを作りたいのですが、
GCCで利用可能な良いライブラリがありましたら教えて下さい。
形式はjpeg、gif、pngの何れかに対応しており、文字列を画像に出力可能なものを探しています。
よろしくお願い致します。

435 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 17:52:30 ]
gnuplot使えばいいんじゃ

436 名前:デフォルトの名無しさん mailto:sage [2006/11/03(金) 06:32:23 ]
gnuplotのコマンド出力してくれるライブラリが欲しいです

437 名前:デフォルトの名無しさん mailto:sage [2006/11/03(金) 08:16:04 ]
というか、スレ違いなんだが、
gnuplotは、デバイス非依存にするために、term抽象化をしているから、
*.trmで定義されているtermモジュールを、切り替えて使うようにすればOK。

$(GNUPLOT)/term/README読め。

話の続きがしたければ、くだ質スレ行け。

438 名前:デフォルトの名無しさん mailto:sage [2006/11/03(金) 16:32:30 ]
popenで十分じゃない?

439 名前:デフォルトの名無しさん [2006/11/05(日) 10:56:17 ]
>>433
むしろ、このスレの住人には神が何人もいるわけで、
このスレで少し議論して書き直してもいいと思う。


440 名前:デフォルトの名無しさん mailto:sage [2006/11/05(日) 16:30:46 ]
ada使ってる猛者いる?



441 名前:デフォルトの名無しさん mailto:sage [2006/11/05(日) 18:10:03 ]
指先が擦り減るから止めた

442 名前:デフォルトの名無しさん mailto:sage [2006/11/05(日) 19:34:09 ]
>>440
pc8.2ch.net/test/read.cgi/tech/1010492940/

443 名前:デフォルトの名無しさん mailto:sage [2006/11/05(日) 19:57:43 ]
歴史あるスレですね
書き込んでスレを進めるのがもったいなく思います


444 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 11:28:46 ]
gcc(g++)で特殊化されてないテンプレートに特殊化されたテンプレートを
定義する方法はありませんか?

VCやBCBでは非標準の機能も使えてしまうわけで、g++でもそういう機能を
有効にするようなオプションなりなんらかの方法を探してます。
バージョンはgcc4系を目標にしてます。

445 名前:434 mailto:sage [2006/11/06(月) 15:06:33 ]
>>435,437,438
返信遅くなりましたが、有難うございます
gnuplotでの作成を検討したいと思います

446 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 02:49:15 ]
質問です

linux上で静的リンクでコンパイルしたつもりなのですが、
glibcに依存(?)しており、sharedな状態となっているためか、
プログラムが変なところで終了するようになりました。

glibcに依存しない、完全に独立したバイナリを作成するには
どうしたらよいでしょうか?
ポインタなど頂けると嬉しいです


lddで対象プログラムを参照するとstaticだと言われるんですが、
コンパイル時に以下のようなワーニングが出ます。

warning: Using 'gethostbyname' in statically linked applications requires
at runtime the shared libraries from the glibc version used for linking

/usr/lib/libc.aは確かにgethostbynameのシンボルを保持しているのですが、
libc.aをldするとglibcに依存するので完全に独立させたいです


447 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 11:01:20 ]
libcにはexit(2)など、
プログラムの実行に必須の関数(およびシステムコールインターフェース)が入っているので、
なしでプログラムを実行することは不可能です。

あなたがlibcの代わりのシステムコール、main()スタブを書けば問題ないですが、
質問内容から言ってもそれは到底無理でしょう。

448 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 11:01:58 ]
gethostbyname()を他から持ってくる。

449 名前:デフォルトの名無しさん [2006/11/10(金) 23:02:02 ]
libc,libgcc抜きの環境でやってたときは結構面白かった。
車輪の再開発はやっぱり楽しい。

450 名前:デフォルトの名無しさん mailto:sage [2006/11/11(土) 10:38:09 ]
>>449
libgcc抜きは相当キツいだろうな・・・



451 名前:デフォルトの名無しさん mailto:sage [2006/11/11(土) 17:43:33 ]
ちょいと質問ですよ。

手元のgcc(for cygwin)は-m64がないのだけれど、-m64オプションを指定したときsizeof(int)はいくつになるの?
LinuxとSolarisのそれぞれについて、教えてくれると助かります。

452 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 18:25:13 ]
int main() {
static int foo();
return foo();
}
static int foo() {
return 0;
}
上記コードはgcc 3.4.4ではコンパイルできますがgcc 4.0.3ではできません。
以下はgcc 4.0.3のエラーログです。

test.c: In function ‘main’:
test.c:2: error: invalid storage class for function ‘foo’
test.c: At top level:
test.c:5: error: static declaration of ‘foo’ follows non-static declaration
test.c:3: error: previous implicit declaration of ‘foo’ was here

これはgcc 4.0.3での仕様変更でしょうか?
サンプルソースの記述方法は標準仕様(ANSI CないしC99等)に違反していますか?

453 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 21:05:25 ]
こういうの萎えるけどまぁしゃーない。漏れも暇だ。

> これはgcc 4.0.3での仕様変更でしょうか?
だろうね、望ましい(厳しい)方向の。
> サンプルソースの記述方法は標準仕様(ANSI CないしC99等)に違反していますか?
厳密に違反(?)かは分からんが、

> static int foo();

この位置じゃmain()の中だけでしか宣言が有効じゃない。
しかも引数にvoidがないからPost-ANSIスタイルじゃない(==K&R)。

-pedantic -std=c89 -W{all,strict-prototype}
とかとりあえずやっとけ。

454 名前:デフォルトの名無しさん [2006/11/13(月) 22:15:02 ]
int型で扱える整数の最大値はいくつですか?
PC-9801時代のC言語入門しか持ってないんですが
printf ("%d\n",123456789);
としても普通に表示されるようです。
この本だとエラーになる。


455 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 22:35:09 ]
処理系による。limits.hでもお読みなさい。

456 名前:454 [2006/11/13(月) 22:35:36 ]
原始的に一桁ずつ変更してみたら
2147483647でWarningが出なくなったけど、これで合ってるのかな…

457 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 22:36:36 ]
>>454
sizeof(int)の値をnとして、(2^n)/2-1だよ。
intのサイズが4バイトなら2147483647ね。

458 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 22:39:35 ]
俺のところでは、
/* limits.h */
#define __INT_MAX__ 2147483647

459 名前:454 [2006/11/13(月) 22:40:58 ]
ありました!

# define INT_MAX 2147483647

460 名前:457 mailto:sage [2006/11/13(月) 22:45:37 ]
間違えたwww
nは8をかけてビット単位にしてね。



461 名前:454 [2006/11/13(月) 22:59:30 ]
>>457>>460
ありがとうございます。
しかし私が理解できる数学は中学校2年レベルまでです…orz

462 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 23:25:09 ]
>>457 そんな決め付けはよくないな。

463 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 23:43:11 ]
>>461
457はそれくらいの数学がわかれば十分理解できるはず。
(Cではxorだが)ここでは^が冪乗の意味。2 ^ nは2のn乗ということ。

464 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 01:18:45 ]
m桁のn進数の数値が表せる最大の数は(n^m)-1だろ?

465 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 01:23:07 ]
>>464
しかしここでは2の補数による符号付き整数型を考えているので457。
ただ2^(n-1) - 1と書いたほうがいいのではと思うがな。

466 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 01:23:53 ]
>>464
int の有効桁数は sizeof(int) では確定しない。

467 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 07:39:54 ]
intを格納するのにパディングが必要になる処理系というのも
考えづらいけどね。

468 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 13:08:35 ]
そりゃただの想像力不足だろ。
ILP64のように、intがマシンにとって最も自然なワードという仮定は
もはやプラットフォームによっては崩れてる。

469 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 13:25:10 ]
>プラットフォームによっては
>プラットフォームによっては
>プラットフォームによっては

470 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 23:29:39 ]
int はそのプラットフォームにおいてもっとも高速であること見込めるサイズと定義されているのに(w



471 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 00:19:27 ]
>>470
はつみみです。
何のどこに定義されているのですか?

472 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 01:20:42 ]
どっちにしろ、C99からはint8_tとかつかえばおk

473 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 20:34:20 ]
>>470
とするのが理想だが 定義じゃねーYO!

474 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 23:23:11 ]
>>472
int_fast8_tのことかぇ?

475 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 11:21:19 ]
stdint.h

476 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 20:42:26 ]
; Linux 板から引っ越してきました。

質問です。

/lib/ld.so の様に,実行も出来る共有ライブラリを作るには GCC に対してど
ういうコマンドを発行すれば良いのでしょうか?

% file /lib/ld-2.4.so
/lib/ld-2.4.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped
% /lib/ld-2.4.so
Usage: ld.so [OPTION]... EXECUTABLE-FILE [ARGS-FOR-PROGRAM...]
You have invoked `ld.so', the helper program for shared library executables.
...

477 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 09:15:42 ]
つ ld-*.soのソースとMakefile

478 名前:gcc4 mailto:sage [2006/11/23(木) 17:18:39 ]
みんな -fpmath は sse にしてる?


479 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 22:01:05 ]
ええ


480 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 10:16:27 ]
はやくgcc-4.2こい〜こい〜



481 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 13:50:55 ]
>>480
4.2のウリはなに?

482 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 13:52:01 ]
ニダ!

483 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 14:56:18 ]
>>481
openMPのサポートじゃないの?

484 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 15:48:58 ]
>>481
ここ読め、カス!
gcc.gnu.org/gcc-4.2/changes.html

forward propagation passが入るよー。

485 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 17:10:34 ]
OpenMPは庶民にはあまり関係なさそうだな。
>>481を見ると、他の変更はあまりなさそうですね。



486 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 20:47:01 ]
RTL での forward propagation は 4.3 からじゃない?

487 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 01:09:36 ]
GCCのソースを読むのは疲れるぞい。

488 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 08:42:21 ]
ETFは少し下げてっるぽい。

489 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 10:22:49 ]
forward propagationってコピー伝播のこと?

490 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 11:02:19 ]
>>489
gcc.gnu.org/ml/gcc-patches/2005-07/msg00423.html



491 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 15:15:20 ]
>>490
さんきゅ。あってるみたいだね。
しかし、今まで入ってないのが不思議なくらい基本的な最適化だが…

492 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 16:10:16 ]
伝搬の方向と、解析の方向の違い。

493 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 18:08:20 ]
ObjC2.0っていつサポートされる予定なの?

494 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 18:16:54 ]
>>491
その辺はopen sourceの限界だろうな。
商用コンパイラなら常識だが、フリーのものは思わぬところで手が抜かれている

495 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 19:13:26 ]
>>489
違う。

496 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 23:09:58 ]
質問なんですが、gccで、
動的ライブラリのSOファイルにiostreamをインクルードすると、実行時に、
undefined symbol: __dso_handle
ってエラーがでるんですけど、なんか対処法ないですか?

$ g++ -Wall -g3 -c test.cc
$ g++ -shared -nostartfiles -o test.so test.o

こんな感じでコンパイルしてます。

497 名前:デフォルトの名無しさん mailto:sage PIC [2006/12/11(月) 00:30:11 ]
ぐぐると出てくるぞ
ttp://d.hatena.ne.jp/shinichiro_h/20051109


498 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 00:59:42 ]
>>497
ありがとうございます。
extern void* __dso_handle;
って宣言するってことですかね?ちょっと試してみます!

499 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 13:20:01 ]
gdb でマクロ参照したい時 gcc -g3 しますが、

enum hoge {
 HOGE_A = 123,
#define HOGE_A HOGE_A
 ...

というコードのデバッグで HOGE_A を参照できず困ってます。
macro expand HOGE_A すると 123 ではなく HOGE_A になる上、
実コードで enum hoge i = ... のように使われてないので、
この enum/macro 値の実値がデバッグセッション中からまったく
取れないのです。

いまはやむなくヘッダ grep して毎回探し回ってるんですが、
実は gcc/gdb 的にちゃんと参照する方法があったりしないでしょうか?


500 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 13:56:20 ]
print出来ないの?



501 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 14:01:27 ]
あ、出来ないわ。
debug情報に含まれてないね。> hoge, HOGE_A
リテラルになってる。

502 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 14:05:16 ]
そうなんですよ。

#define HOGE_A 123

ならコード中で使ってなくても gdb から見えるのに、

enum { HOGE_A = 123 }

だと何と見えなくなってしまって。gcc/gdb に手を入れないと対応不能?


503 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 17:38:34 ]
Symbol tableにないから無理だね。

504 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 17:44:58 ]
やぱりそうですか。
マニュアル見てると -feliminate-unused-debug-symbols とか -gfull とか
ちょっと関係してそうなものがあるので、定義を見ただけで突っ込むように
できないかもう少し見てみます。




505 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 00:08:18 ]
上、できてるんで報告しときます。

 gcc -fno-eliminate-unused-debug-types -ggdb3 foo.c

でデバッグターゲット中にない enum などの型情報もデバッグセッションで
参照できるようになりました(-ggdb3 -> -g3 でもおけ)。

これで pt enum hoge とか p HOGE_A+0 とかもばっちりです。

506 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 12:38:59 ]
good bad know how

507 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 21:10:35 ]
gdb関連で質問なんですが、ロードしたプログラムのテキストセグメントに
オンメモリでパッチをあてて関数のNOP化などをしたいのですが、そのまま
run しようとすると Text File busy とか言われてしまいます(Linux)。

一回 gdb -write で書き換えたバイナリを保存して、gdb を再起動して
再実行する場合は問題ないのですが、書き換え→保存→再実行→元ファイル
復元→・・・と試行錯誤するのが面倒なので、オンメモリのイメージだけ
書き換えて実行したいです。これは gdb でできるのでしょうか?

508 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 11:45:29 ]
アーキテクチャも分らないのに

509 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 20:19:52 ]
アーキテクチャ関係なくね?

510 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 05:56:19 ]
>>509
ちげーよ
ある仮定を1つ言ってないだけさ



511 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 22:46:48 ]
ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.0.4/


512 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 19:18:53 ]
ううむ、4.2はまだリリースされないのか。4.1.2と同時リリースなのか?

513 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 22:42:13 ]
4.1.2の後に4.2pre→4.2でしょ。
4.2はまだ1月ぐらいかかるんじゃないかな…

514 名前:デフォルトの名無しさん [2007/02/08(木) 23:17:12 ]
>>512-513
もうすでにIR版で6.0が出てるわけだが
ttp://2chart.fc2web.com/2chart/0123456789.html

515 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 02:34:15 ]
514はたぶんものすごいバカ

516 名前:デフォルトの名無しさん [2007/02/12(月) 03:09:56 ]
>>515
お前も釣られたんだな・・・

517 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 03:35:15 ]
まあもちつけ、兄者。
釣りにはスルーで対抗せよ。

518 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 18:27:21 ]
GCC 4.1.2 has been released.
gcc.gnu.org/gcc-4.1/

やっと出た…
さっさと4.2こーい

519 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 10:43:02 ]
4.2からOpenSSLやFirefoxが起動しない。

OpenSSLのMLみりゃ載ってるけど、strickt-aliasingか何のためか詳しく分からんが
関数ポインタのキャスト(かな?)で禁止になった次項が増えたらしい。
これが検出されたら、そこに強制終了コード埋め込まれる。

詳しい人、日本語で解説よろぴく。

520 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 10:56:41 ]
>>519
どれかアーカイブで示してくれるとうれしいんだが。
www.openssl.org/support/



521 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 18:18:38 ]
marc.theaimsgroup.com/?t=116290942800004
gcc.gnu.org/ml/gcc/2006-07/msg00037.html
あたりかな?
cast_via_void_fptr()がダメになったらしいけど、素人の私にはさっぱりorz

522 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 02:22:29 ]
古い (ANSI 以前の知識ベースの) C プログラマがこういう行儀の悪いコード書くんだよ
そういう奴らを一掃するためにもがんがんエラーにしてくれ

523 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 02:22:42 ]
Cではコンパチブルじゃない型のaliasを禁止している。
それを実行時に察知してabort()する範囲が増えた。

524 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 03:51:47 ]
errorじゃなくて abortするのがなあ。まあ、warningもでるけど。


525 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 09:03:27 ]
Buffer overflowなんかの絡みもあるんじゃないのか?
一昔前じゃ、実行時チェックなんてあり得ないセンスだけど。

526 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 21:01:27 ]
なんで実行時なんだ?

527 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 16:40:47 ]
4.2の出来が悪すぎるんでどうしようか迷っているらしい
gcc.gnu.org/ml/gcc/2007-02/msg00427.html

528 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 17:30:59 ]
4.1.2も3.4.6に比べて大分性能悪くなってた
4.0系は試してないから分からないけど

529 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 04:00:01 ]
-fwhole-compile --combine って C++ で使えない?
1クラスだけの簡単なサンプルでやってもメンバ関数が undefined reference に
なってしまうんだが。v4.1.2、ちなみに C なら問題ない。

仕方ないので、単体ファイル毎に -fprofile-generate/use して自分ツールビルド
してみたら 1% 速くなたw
まあこれでもいっか、と MinGW で同じようにやったら internal compiler error orz

530 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 04:13:03 ]
>>529
書き間違い済まぬ -fwhole-program っすね



531 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 04:15:13 ]
今試したらできなかった
-fwhole-compileじゃなくて-fwhole-programだったけど

532 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 22:35:57 ]
進歩した部分もあれば後退した部分もあるから gcc-4 はまだまだ主流になれそうにないね。

最適化パスが Tree SSA と RTL で重複し始めてるような気もするが?

533 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 16:08:15 ]
>>528
4.0はもっとひどかった。4.1になってちょっとマシになった。

534 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 03:37:49 ]
SPECの結果って最近どうなの?

535 名前:デフォルトの名無しさん [2007/02/26(月) 23:17:10 ]
2CPU構成で1CPUしか使ってくれないソフトをGCC4.1でOpenMPを有効にしてmakeすれば2CPU使ってくれるのでしょうか?
GCCマスターのお知恵をおかしください・・・

536 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 23:24:16 ]
>>535
そうはいかんざき。
OpenMP用にソースにちょっと手を入れないといけない。


537 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 23:41:18 ]
1位3.3系
2位3.4系
3位4.1系

538 名前:535 [2007/02/26(月) 23:42:09 ]
>>536
アホらしい質問すいません。
ありがとうございます。
SolarisやLinuxでnbenchというCPUの性能を測るものがあって、これを複数CPUで動かして計測したいのですが、1CPUでしか動いていませんでした。
オプションに-fopenmpをつけてmakeすれば複数CPU対応版になってくれれば良いな、と思った次第です。
世の中そんな甘くないのですね。
SolarisやLinuxで複数CPUに対応したCPUベンチマークソフトがあれば良いのですがね。

539 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 23:54:46 ]
横から失礼します。
-ftree-vectorizeで並列化した場合は、マルチCPUで効果があるのでしょうか。

540 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 01:22:01 ]
>>539
vectorizeはSSEを使った高速化じゃないの? だとすれば、一つのコアしか使わないと思われ。

>>538
プラグマで、OpenMPの対象とするforループを指定してやるとかすればいい。



541 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 04:33:48 ]
目的がよく分からないんだけど,元々1CPU用のベンチを自分で適当に弄って
意味あるの? 元の製作者がやるんだったらともかく

542 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 10:03:51 ]
>>538
そんなあなたに、Intel compiler。
-parallelオプションで、ある程度自動で並列化してくれる。
非商用目的なら無償で入手できます。

543 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 03:50:56 ]
>>539
ubench とか sysbench とか。
んでも、1 個のベンチマークツールだけに頼らない方が良いよ。
それと、なるべく自分が想定しているアプリに近い負荷で試した方が良い。
アプリに付属しているベンチマークツールを使うとかね。
マイクロベンチマークは落とし穴がいっぱいあるから、きちんと統計情報も
取得した方が良いよ。

544 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 07:21:59 ]
Mingwが3.4.6出す夢を見た。

545 名前:デフォルトの名無しさん [2007/03/11(日) 13:00:40 ]
gcc 4.2の正式リリース予定日はまだ決まっていないのでしょうか?

546 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 15:01:01 ]
3月中旬

547 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 14:12:52 ]
gcc-4.2って>>527の話があったけど、どうなったの?
3月中旬にリリースってことは、結局そのままリリースするのかな?

548 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 15:17:29 ]
その様だ
明日RC1が出る

GCC 4.2.0 RC1 Status
gcc.gnu.org/ml/gcc/2007-03/msg00348.html

549 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 15:37:34 ]
となると、4.2はスルーしたほうがよさげだなぁ

550 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 18:34:29 ]
>>547
ttp://d.hatena.ne.jp/c-yan/20070305/1173092465
3/4 に続行って出てた



551 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 19:50:02 ]
>>550
Thanks
ttp://gcc.gnu.org/ml/gcc/2007-03/msg00130.html のステータスレポートですな
んでヲレは当分は4.1のままでいることにしますだ

552 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 02:58:57 ]
現時点での最強のgccを教えてください

553 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 03:03:20 ]
gcc

554 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 09:37:39 ]
ecc

555 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 11:17:05 ]
.2.95.3
に決まってる

556 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 15:25:25 ]
あれはよかったのう…
どこで間違ったんですかねえ



557 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 19:38:12 ]
長い間バージョンが上がらなかった反動で
出来がいかに糞でもバージョンが上がればいいと思い込んでしまったところ。

558 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 21:31:36 ]
Makefileについてなんですが、現在以下のようなフォルダ構成でsrc以下
にソースファイルを置いています。

┬src
├obj
└run

Makefileはrunにおいていて、makeコマンドを実行したら.oはobjに置かれ、
実行ファイルだけrunにできて欲しいのです。

しかし、makeコマンドを実行した場所に一緒に.oができてしまい、イライラしています。

Makeファイルはrun以下に置いて、.oはobj以下に作成されるというような解決方法は
ないでしょうか?

559 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 22:58:01 ]
>>558
マニュアル読め。
そんなの質問するようなことか?

560 名前:558 mailto:sage [2007/03/15(木) 23:48:26 ]
MakefileでVPATHとOPTIONってどうやって両方とも有効にすればいいんでしょうか?

VPATH = ../src
OPTION= -D_NDEBUG

abc.o : a.c b.c c.c
#[tab]$(CC) $(OPTION) -c $@

こんな感じでやっても、OPTIONが有効になりません。
かといって、#を削っても今度はVPATHが有効になりません。
どなたか、お助けを。



561 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 00:22:31 ]
>>558
GNU make のパターンルールくらい嫁。基本じゃん
$(target): $(objects)
$(objects): ../obj/%.o: ../src/%.c


562 名前:389 mailto:sage [2007/03/16(金) 10:34:15 ]
>>558
gccの話をしれ

563 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 15:43:52 ]
質問

転職してVisualC++を使う開発からGCCを使う開発に変わるんだが
VC++のようなIDEって無いの?
GCCとViが基本?

564 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 15:50:19 ]
emacs


565 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 15:51:20 ]
>>563
eclipse+cdtとかkdevelopとか

566 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 15:52:44 ]
>>563
ttp://pc11.2ch.net/test/read.cgi/linux/1039282447/


567 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 16:19:25 ]
皆さんThx!


568 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 21:24:45 ]
いまさらですがMakefileの話題はこちらへ

make makes many problems
pc11.2ch.net/test/read.cgi/tech/1029599472/

569 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 02:50:56 ]
>>548の後、相次いでバグが発見されたために延ばし延ばしになっていたRC1がようやく出ました。

GCC 4.2.0 RC1
gcc.gnu.org/ml/gcc/2007-03/msg00636.html

ヤレヤレ…

570 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 06:35:48 ]
なにがヤレヤレ…なの?



571 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 13:01:22 ]
>>570
>>569 のメール読めばすぐ分かるだろ.
> we still have quite a number of GCC 4.2.0 P1s which concern me.

572 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 13:15:00 ]
バグの出方を考えると、どう考えてもリリース品質とはいえないシロモノなのに、
RCにしちゃっていいの? 4.1と比べて、あまり最適化周りの性能向上もしていない
ようだし。

573 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 13:24:45 ]
性能向上、どころか性能低下がかなり激しくて問題視されてる。
4.3は期待出来そうなんだが…
まぁこの経験を生かしてこれからはより良い開発プロセスを作ってほしいね。

574 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 20:12:54 ]
4.xと3.xの比較ではどんなにググっても3.xがいいという人しか見つかりませんが
4.xでしかコンパイルできないソースを書かない限りは3.xでFAなんかいな?

575 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 01:05:34 ]
3.4以降が4.xになったんじゃないの。
どうせ最高性能は2.95なんだから、最新がほしけりゃ4シリーズを使うべき
だと思うけどね〜。まあ、lvalue assignmentの問題とか致命的な人には
致命的なんだろうけどさ。

576 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 01:55:31 ]
C言語しか使わない人は2.95でもいいかもしれないけど、
C++ 使う人には思い出したくない過去な気が

577 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 01:56:12 ]
Linuxのメジャーどころのディストリビューションが3.x以降に移行し、
FreeBSDも5以降は3.xに移行してから結構時間が経ってしまっている現状、
2.95.xではmakeが通らないアプリも結構あるからなぁ。

ってことで、Solarisで長いこと付属のcompanion CDに入っていた2.95.3を
使ってきたけど、SunFreewareの3.4.6に入れ替えた。

にしても、4.2がリリースされたら、4.1から入れ替えちゃって4.1がつかえなくなる
ディストリビューションがありそう。Debianの場合、パッケージが用意されているのは
2.95、3.3、3.4、4.1なので、4.2がリリースされても大丈夫だろうし、FreeBSDのportsも
そんな感じだから、ヲレ的には無問題なんだけど。

578 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 03:35:37 ]
>>577
Solaris 10 以降だったら /usr/sfw/bin の下に GCC 入ってるよ。
バージョンが幾つだったか忘れたけど。

579 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 12:02:31 ]
>>576
C++はそうだね。3.x以降で劇的に変わっているし。
あと、amd64などの新しいアーキテクチャへの対応もあるし。

にしても、>>575のいう最高性能が2.95っていう理由がよくわからんのだけど。
まさかコンパイル速度だけを見ているわけじゃないよね?

580 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 16:05:58 ]
見ているわけだろ。



581 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 15:55:40 ]
コンパイル速度しか見ていないヤシ、以前UNIX板のgccスレにも湧いていたな

582 名前:389 mailto:sage [2007/03/20(火) 17:11:47 ]
コンパイル速度とコードサイズの小ささは2.95のがよかったな。
実行速度は比べたことないんでしらんけど。
まぁ C99 や C++ や他のフロントエンドを考えると今更戻る気はしないな

583 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 17:57:44 ]
実行速度は自分が使うやつでは3.3が一番速かった
4.1は姫野ベンチってやつでは-O2以上にすると何故か3.4に比べて2倍くらい遅くなってた
-O1とかでもそれまでと比べて遅くなってるけど

584 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 09:43:40 ]
姫野ベンチのソースコードは公開されてるの?

585 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 10:57:09 ]
されてるよ。ググればトップに出て来るけど。

586 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 14:45:25 ]
fortranがベースなのか?

587 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 17:59:33 ]
ご自分でどうぞ。

588 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 20:22:54 ]
>>586
Fortranベースじゃないかな。トップページに、Cの配列宣言をFortranに合わせた、って記述が。
言語の特性上、だいたいベンチ系はFortranベースのものが多いし。

589 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 15:52:02 ]
下のページを試しているのですがgcc時にエラーが出てしまいます
ttp://www.hellohiro.com/native.htm
jni.hがないと言われるのですが、lsで確認したところ存在します。
どこがまずいのでしょうか・・助けてください。

bash$ gcc -shared -l/usr/java/jdk1.6.0/include/ -l/usr/java/jdk1.6.0/include/linux/ HelloWorldJNI.cpp -o libHelloWorldJNI.so
HelloWorldJNI.cpp:1 から include されたファイル中:
HelloWorldJNI.h:2:17: error: jni.h: そのようなファイルやディレクトリはありません
HelloWorldJNI.h:15: error: ‘JNIEXPORT’ does not name a type
HelloWorldJNI.cpp:2: error: ‘JNIEXPORT’ does not name a type
bash$ ls -l /usr/java/jdk1.6.0/include/jni.h
-rw-r--r-- 1 root root 67831 11月 29 18:49 /usr/java/jdk1.6.0/include/jni.h

590 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 17:07:14 ]
l じゃなくて I だよ
lは -lpthreadみたいにライブラリに対して使う



591 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 17:59:14 ]
>>590
ありがとうございます
できました
本当に助かりました

592 名前:デフォルトの名無しさん [2007/03/31(土) 20:35:04 ]
4系ってコンパイルを正常に終わらせられるソフトウェアはまだ多くないと聞いたんだけど
それと、Debianは2.95からパッケージに置いてあるのに
Fedoraは3.3より先は切り捨てられているのはどうかと思うが

593 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:37:45 ]
debianってそういうディストロだし
fedoraってそういうディストロだし

594 名前:デフォルトの名無しさん [2007/03/31(土) 20:39:14 ]
>>593
で、4系ってどうなのよ
アレな出来なのか?

595 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:46:50 ]
4.0 まぁ許容範囲
4.1 ギリギリ許容範囲
4.2 …だめぽ
4.3 期待の新星

javaとfortranについては順調に進歩してる。
が、肝心のcが…
コンパイル時間は増える、バイナリはでかくなる&遅くなる、
でいい事あんまなし。

596 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:54:41 ]
>>595
ありがとう
まだ3系のほうがいいのね・・・

597 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 22:15:44 ]
4.0 転換期。まぁ少しの性能の低下はしかたない。
4.1 すこし性能が回復。まだ3.6に及ばず。
4.2 なにそれうまい?
4.3 memcpy! memcpy!

598 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 22:42:26 ]
何と引き換えに性能が劣化してるの?

599 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 22:47:07 ]
>>598
www.jp.redhat.com/magazine/NO5/

600 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 04:48:19 ]
IA32への対応はそろそろ限界なのでは?



601 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 09:48:20 ]
案の定、4.2で多くのパッケージをコンパイルしたアホなLinuxのディストロが出てきたねぇ。

602 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 10:11:17 ]
俺は使わないが、問題の炙り出しになるので大歓迎。

603 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 10:40:42 ]
問題の炙り出しっつーても…
これ、どうせ廃棄ものだぜ?
2.96や3.3みたいに残しておく価値ないし
4.2で握るんなら4.3cvsで握ってくれた方がうれしいよ…
たとえ爆死してもまだ納得できる

604 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 17:28:52 ]
>>601
Momonga 4なら4.2は捨てて4.1で行くことにしたらしいぞ。
ttp://developer.momonga-linux.org/wiki/?Momonga+Linux+4
ttp://developer.momonga-linux.org/wiki/?gcc-4.2

605 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 00:22:24 ]
そんな日本ローカルな鳥なんてどうでもいい。

606 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 02:06:59 ]
あー momonnga ってまだあったんだー

607 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 11:14:29 ]
gcc(ていうかGNU ld?)で、未使用な関数とかを自動的に除去して
サイズ縮小したいんですが、そもそもそんな機能ありますか?

608 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 12:24:40 ]
>>607
gcc -ffunction-sections -Wl,--gc-sections 以下略
ttp://www.radiumsoftware.com/0401.html#040126


609 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 12:53:16 ]
結果的に未使用な関数の除去は出来るけど、
-ffunction-sectionsは性能の低下を引き起こすので使用には注意。

結局、その手の機能はまだ実装されてないんだね…

610 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 12:56:30 ]
>>608
アリガトン!でも除去してくれなかったよorz。





611 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 13:22:17 ]
>>610
ソースを一つに纏めて、全ての関数にstaticをつけると未使用関数は消えてなくなるんじゃね?w

612 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 15:49:11 ]
>>611
その辺を-fwhole-programが面倒見てくれるのかと思っていた時期もありました・・・


613 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 16:09:56 ]
MacOSXでg++の4系列を使い始めたのですが,
以下のコードでコピーコンストラクタがないと起こられます.
#include <iostream>
using namespace std;
class A {
A (const A &p);
A &operator = (const A &p);
public:
A () {}
friend ostream &operator << (ostream &p_os, const A &p_a) {return p_os;}
};
int main ()
{
cout << A () << endl;
return 0;
}
エラーメッセージは
test.cpp:4: error: 'A::A(const A&)' is private
test.cpp:12: error: within this context
です.g++-3.3では起こられないのですが,これってg++-3.3の方が正しいですよね?

powerpc-apple-darwin8-g++-4.0.1 (GCC) 4.0.1
g++-3.3 (GCC) 3.3 20030304


614 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 18:54:17 ]
C++相談室で聞くことにします


615 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 22:24:49 ]
つ ttp://lists.apple.com/archives/xcode-users/2007/Mar/msg00193.html
この辺の話じゃね?

616 名前:デフォルトの名無しさん mailto:sega [2007/04/15(日) 07:47:47 ]
a==1;
これについて、Warningを吐いてくれるオプションってある?

-Wall とか以外で。

617 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 10:11:39 ]
warningを個別に禁止・許可することができるようになりましたか?

618 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 10:56:35 ]
なんで道具に頼るんですか?

619 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 15:29:58 ]
チェックを人間の目に頼るのは小学生まで

620 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 17:13:21 ]
幼稚園児?保育園児?



621 名前:デフォルトの名無しさん [2007/04/15(日) 20:45:08 ]
>>617
2000年問題とかは個別に禁止・許可できるよ

622 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 20:53:26 ]
まだできないようですね。やれやれ。

623 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 22:09:08 ]
できました。ありがとうございました。

624 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 00:19:47 ]
ちょっと.code16モードで生成されるコードに疑問があるので質問させてください。

__asm__(".text\n.code16\n.global _start\n_start:\njmp boot_main\n");

void asm_putc_ng(char c) { __asm__("int $0x10" :: "a"(0x0e00|c), "b"(0x7)); }
void asm_putc_ok(char c) {
 __asm__(
   "mov 6(%ebp), %eax\n\t" // ココ。gccは8(%ebp)を生成するが・・・
   "or $0x0e00, %ax\n\t"
   "mov $0x07, %bx\n\t"
   "int $0x10\n\t");
}
void boot_main(void) { asm_putc_ok('D'); asm_putc_ng('D'); }

BIOSコールで文字を出力するサンプルですが、.code16モードだと
引数のスタック上位置の計算がおかしく、引数が正常に渡りません。
こんなコードが生成されます:

 asm_putc_ok: ! asm_putc_ng でも同様のプリアンブルを生成
  pushl %ebp
  movl %esp, %ebp
  subl $4, %esp    !char c用にスタック領域を取る
  movl 8(%ebp), %eax !第一引数をEAXに入れようとしてるがオフセットおかしくない?
  movb %al, -4(%ebp) !charなんでALだけ領域に書けば十分

リターンアドレスは16bitなので、ここは8(%ebp)でなく、6(%ebp)が
正しくないでしょうか?実際、それだと指定の文字を正しく出力します。

しかし、超メジャーなx86 gccでバグがあるとも思えないので、私が
単に16bitコード生成のための何かをしていないのではと悩んでます。
どうすれば正しいコードを生成させられるでしょうか?

625 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 00:41:38 ]
>>624
それはそういう仕様
16bitモードで使いたいなら素直にnasmでも使っとけ
いや、絶対その方が不可解なところで悩まなくていいから。


626 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 01:20:06 ]
MJD?でもサンクスコ。しかし説明だけ読んでる限りだと

 .code16  - 16bit-based instruction, 32bit data
 .code16gcc - 16bit-based instruction (partly 32bit), 32bit data
 .code32  - full 32bit instruction/data

となると思ってしまうよなー。実際には16bitモードなアセンブラを埋めるために
使うことだけ想定してて、16bit C compilerとして使うことは想定してないのね。

627 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 15:09:24 ]
ttp://gcc.gnu.org/ml/gcc/2007-04/msg00509.html
さてさて、4.2はどうなることやら。

628 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 17:00:31 ]
ttp://journal.mycom.co.jp/news/2007/04/10/019/index.html
ってことで、FreeBSD 7はgcc-4.1にしようと作業中で、
アプリとコンパイラの両方でのバグ出しも進んでいるみたいですな。

4.2系と違って4.1系はsnapshotもきちんと1週間毎に出てきているし、
4.1.3は結構よさげなリリースになる予感。

629 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 21:55:40 ]
もう世間のディストリのbugzillaは4.2/4.3の対応待ちとかで埋まってるのに、1周期ずれてるなw

630 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 22:06:43 ]
629はかなり頭が悪そうな雰囲気



631 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 17:36:43 ]
広く出回ってるアプリケーション?をgcc3.4系でコンパイルする際に
つけといたほうがいいオプションってありますか?

ほとんどの場合以下のオプションをつけてます。(xeon 5130の場合)
CC=gcc \
CFLAGS='-march=nocona -mcpu=nocona -m64 -O9 -mmmx -msse -msse2 -msse3 -mfpmath=sse' \
LDFLAGS="-z combreloc" \
./configure \
(その他configureのオプション)



632 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 18:18:02 ]
>>631
-Wall -pedantic -std=c99 --input-charset=??? --exec-charset=euc-jp

633 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 19:24:53 ]
エラーチェックを厳しくするオプションと
ソースにマルチバイトが含まれてるときの処理
でしょうか?
自分で書く際には役に立ちそうですが
人のコードコンパイルするときには使いにくそうですね。
最適化オプションの話がききたかったのですが

...とおもったらここプ板なんで作る側の板なんですね
検索できてそのまま書いてしまいました。
板違いですねorz



634 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 23:35:31 ]
>>631
とりあえず重複が多い。info見とき。

635 名前:デフォルトの名無しさん mailto:age [2007/04/21(土) 00:58:26 ]
スレ違いかもしれませんが、他に適当なスレがないのでここで質問させてください。
arについてなのですが、同じ名前でディレクトリが違うオブジェクトファイルをライブラリに詰めたとします。
たとえば、
/dir1/obj.o
/dir2/obj.o
があったとして、
ar rcs libtest.a /dir1/obj.o /dir2/obj.o
とやったような場合です。この場合libtest.aの中にはobj.oが2つ存在することになります。

このライブラリを展開すると、obj.oは1つしか出てきません。
2つ出るのかもしれませんが、1つは上書きされるようです。
オブジェクトファイルを2つとも取り出すにはどうしたらいいんでしょうか。

636 名前:635 mailto:sage [2007/04/21(土) 13:15:51 ]
どうやらどのオプションを使っても方法がないようなので、
自分でbinutilsのソースを書き換えました。

637 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 19:16:03 ]
GCC 4.2.0 Status Report (2007-04-24)
gcc.gnu.org/ml/gcc/2007-04/msg00850.html

4/29フリーズ&RC
5月第一週リリース予定だそうな
出来はいいからとにかくリリースして4.3に集中してほしいな

638 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 19:26:07 ]
>>637
いままでのstatus reportや、RCの出来を考えると、4.2系には不安がいっぱいというか
まるで期待が持てないものねぇ。

639 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 08:04:32 ]
リリースするより、4.2はなかったことにして4.3になるはずのものを
4.2にスライドしてくれる方がいいんじゃない?

640 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 13:02:19 ]
>>639
そういう意見も強かったようだけど、4.2をそのままリリースすることに決まっちゃったからねぇ。
しょうがないので、4.2の下手なマイナーアップデートをせず、4.1と4.3に力を注いで欲しいところ。



641 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 18:08:00 ]
ttp://www.itmedia.co.jp/enterprise/articles/0705/01/news010_4.html
> GCC 3.3よりもGCC 4.0でビルドする方が高いパフォーマンスを得られる
3系の方が速いのかと思ってた

642 名前:・∀・)っ-○◎● mailto:sage [2007/05/01(火) 19:51:59 ]
絶対嘘。3.3のほうがバイナリ速い。

643 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 20:26:49 ]
場合によるだろ
すぐに絶対とか言っちゃうやつは馬鹿な証拠

644 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 20:57:03 ]
>>641
何がしたいのかよくわからない記事だね。
ブラウザを起動させたまま同じページを100回ロードするとかの方がいいだろうに。

あえて>>641を材料に考えると、3通りの全てのテストで3.3と4.0の差は
optの方がnooptより縮まっているのだから、3.3の方が4.0より最適化が
優れていると考えるのが自然だと思う。

全条件にわたって4.0のグラフの方が短いのはシンボル解決など起動時の負担が
小さくなるような仕様の変更があったのではないかと推測。

あと、今時こういう測定で「画像主体」はないんじゃないかとw
CSSバリバリとかDHTMLとかSaaSとか、重さを感じるページってのはそういうの
なんだからその辺でやってくださいよと。

645 名前:デフォルトの名無しさん [2007/05/01(火) 21:26:37 ]
団子ちゃんが言うことは絶対なんデス><


646 名前:デフォルトの名無しさん [2007/05/01(火) 21:50:00 ]
つーかさ、そこらのコードがちょっとばかし速く動くより、
ダンゴさんのコードが速く動くことのほうが、
全世界的に見て有用だろ。

647 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 22:35:36 ]
団子のコードが速くなる3系>>>>>>firefoxが速くなる4系

648 名前:・∀・)っ-くコ:彡- mailto:sage [2007/05/02(水) 00:29:51 ]
いかさまだろ

649 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 05:57:54 ]
短時間で連レスする奴が並んでるな
後半消えてるけど

650 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 07:19:33 ]
ITmediaも暇なことしてるなw
httpなんて最適化で劇的に高速になるわけねーんだから
ユーザーがビルドしても時間のムダでしかないだろ。



651 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 11:03:52 ]
これほど偉そうな割にピント外れのレスも珍しい。

652 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 12:33:38 ]
社員乙

653 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 15:16:59 ]
レンダリングのことをダウンロードだと思っているようで。

654 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 15:19:13 ]
言い方変だったな。
firefoxではローカルファイルを表示できないと思っている、というほうが正しいか。

まあGWだから仕方ないけど。

655 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 16:39:12 ]
HTML解析と内部DOM生成、スクリプトとのやりとり、レンダリング
どれも重そうだよ

656 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 00:51:07 ]
しょうもないことしてるな。
一ランク上のプロセッサ買ったほうが手っ取り早いだろ。

657 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 00:51:56 ]
そのネタもう飽田

658 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 06:06:16 ]
フルアセンブラでブラウザ書けばきっと速いよ

                     ハ_ハ  
                   ('(゚∀゚∩ はやいよ!
                    ヽ  〈 
                     ヽヽ_)

659 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 06:10:02 ]
そのネタも、最適化なめるな突っ込みも、もう飽北

660 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 11:21:58 ]
シェルスクリプトでブラウザ書けばきっと(ry



661 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 19:17:10 ]
ハンドレンダリング
これ最強。

662 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 04:56:58 ]
>>661
だよな、テーブル表記なんか心が和む微妙な曲線で描かれるんだぜ


663 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 12:47:42 ]
openmpが使える環境だと4.2の方が圧倒的に速いね

664 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 17:23:45 ]
GCC って今 rand のアルゴリズムに何使っとん?

665 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 17:29:20 ]
GCCって乱数なんか使ってるの?

666 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 17:30:30 ]
使っているlibraryによる。

liblibertyなら↓を読んで。
gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libiberty/random.c?rev=1.9&content-type=text/x-cvsweb-markup

667 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 18:37:24 ]
TYPE_0 は線形合同法っぽいけど、他のは・・・何だろ。
これが噂の遅延フィボナッチとやら?
とりあえず、TYPE_0 以外では >> 1 はしてるっぽいので安心した。

668 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 04:01:19 ]
>>664
で、使ってるライブラリは何なの?
MinGW? Cygwin? OSのlibc?


669 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 06:22:54 ]
>>668
別に自分の環境のだけのが知りたいわけでもないんで。

670 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 06:43:36 ]
そもそもgccとrand()に何の関係もないわな。




671 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 07:04:49 ]
ぬ? UNIX/Linux だと OS が提供してるの?

672 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 07:48:20 ]
コンパイラとライブラリが別

673 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 07:50:26 ]
いや、ライブラリ提供者。

674 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 08:01:54 ]
>>671
どんなOSでも、OSのランタイム環境の一部として、配布されている。
開発環境がない実行環境でも動かないといけないから。
今時はほとんどダイナミックリンクだしね。

675 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 08:07:18 ]
>>674
OSのランタイム環境ってなんだよw
rand関数提供してるOSなんて見たこと無いぞ
VBのラインタイムと混同してないか?
半端な知ったかぶりするなら黙ってたほうがいいよ

676 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 08:21:27 ]
>OSのランタイム環境の一部として
いや、ライブラリ(ry

677 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 08:40:41 ]
>>675
UNIXではOS添付のlibc内のrand()を使うのが当然。
SolarisでもLinuxでも*BSDでも、そう。
gcc以外のコンパイラでもrand()は同じ。

MinGWだって、MinGWがrand()を提供しているんじゃなくて、msvcrtが提
供しているわけで、gccとは関係ない。





678 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 09:06:49 ]
へー。勉強になった。

679 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 19:38:26 ]
int msvcrt_rand() { rand_seed = rand_seed * 214013 + 2531011; return (rand_seed >> 16) & 0x7fff; }
int newlib_rand() { newlib_seed = newlib_seed * 6364136223846793005L + 1; return (newlib_seed >> 32) & RAND_MAX; }
long glibc_rand() { x=x*1103515245+12345; return x & 2147483647; }

それぞれの実装

680 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 19:47:10 ]
glibc は何でいつまでもこんな糞実装なんだろう?
右シフトもしないなんて。



681 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:09:27 ]
>>680
互換性

682 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:12:47 ]
RAND_MAX を変えるのは流石に困るが、
乱数アルゴリズムに依存したコードなんて書いてる奴がいるのか・・・。

683 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:30:56 ]
>>682
つ モンテカルロ法

乱数のアルゴリズムつーか、質が問題

684 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:32:34 ]
つ[再現性]

685 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:33:23 ]
質が良くなる分には問題ないと思うけど。
というか、モンテカルロ法に rand を使う時点で問題がある気もする。

686 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:36:36 ]
そんなに再現性が欲しいなら自前で実装しそうなんだがなあ。

687 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:45:00 ]
だよなあ

688 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:49:10 ]
結局はしょっぱいプログラムの尻拭いってことか。

689 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 23:58:56 ]
>>679
man読むとこんなの使ってないってはっきり書いてあるんだけど
glibc

690 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 00:06:07 ]
質じゃなくて、性質に依存している。
性質が明記してあるのだから当たり前。




691 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 13:43:44 ]
擬似乱数
ttp://pc11.2ch.net/test/read.cgi/tech/1146071975/l50

692 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 13:19:01 ]
ファイルスコープで extern int a = 0; とか書くと g++ 4.0.1 だと警告出るのな。
まあそれはいいんだけど、なぜか 2 度も同じ警告が出る。
これはバグと言っていいんだろうか。

693 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 06:59:55 ]
4.2きたね。
まだ正式リリースじゃないっぽいけど。

694 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 07:20:08 ]
>>692
ヘッダに書いてるの?
ソースは分割してるの?
その定義が使われている .c ファイルは何個あるの?

695 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 07:35:16 ]
やればわかる。
.c 1個のみ。

696 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 15:10:49 ]
4.2ちょっと試してみたけどやっぱりあんまり速くなってなかった。
というか遅くなってた。
4.1.2と同じオプションでコンパイルしただけだけど。

697 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 15:35:33 ]
コンパイル速度が遅くなったのか。
それとも実行速度が遅くなったのか。

698 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 15:53:10 ]
実行速度だよもちろん。
-O3 -fomit-frame-pointer -march=pentiumpro
くらいしか指定してないけど。

699 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 16:34:39 ]
コンパイル速度の事かと思った。

700 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 17:03:08 ]
コンパイル速度が速いに越したことは無いが
そもそも実行速度が速くなればフィードバックするっしょ



701 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 19:19:15 ]
May 13, 2007
GCC 4.2.0 has been released.

702 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 03:17:36 ]
>>698
今時pprowmarch=nativemtune=nativeでやってみたら。

703 名前:デフォルトの名無しさん [2007/05/18(金) 15:56:09 ]
openmpは反則的な速さだ

704 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 20:22:05 ]
gcc 4.3.0 まだー?

705 名前:デフォルトの名無しさん [2007/05/22(火) 21:29:58 ]
3.4.2 を使っている人いますか?

706 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 15:05:21 ]
います。

707 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 17:27:07 ]
1.36.3を使っている人いますか?

708 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 19:55:53 ]
います。

709 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 05:17:05 ]
2.95.xを使った事のないひといますか?

710 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 07:10:41 ]
います。



711 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 07:52:44 ]
います。

712 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 09:01:27 ]
living roomって日本語でなんだっけ?

713 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 09:20:11 ]
>>712
居室。一般住宅なら居間。

714 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 14:52:26 ]
きょます。

715 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 22:22:37 ]
gcc-4.2.0ってなんで自分のコンパイルにあんなにいっぱいメモリ喰うの?

716 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 22:26:53 ]
います。

717 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 23:20:39 ]
>>715
メモリを使うことで、gccが実際に使える環境かどうかを試験しているのです。
使えない環境なら、ビルド自体ができないというフールプルーフ設計です。
gccのビルドよりメモリを食うソフトはありませんから。

718 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 03:31:29 ]
メモリ256MB
スワップ892MB
FreeBSD-currentでgcc4.2使ってxorg7.2コンパイルしたら gcc internal error で落ちるから何だとおもったら
swap_pager_getswapspace: failedワロタ


719 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 04:00:28 ]
>>717
C++ならもっとメモリ食うよ

720 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 08:13:31 ]
>>718
スワップとあわせて1G…現状では小さすぎるような。
32bitカーネル環境だとしても、合計で4Gの壁ギリギリかそれ以上とらないと、最近のアプリ全般自体が厳しいかも。
合計1Gだと、デスクトップをXfceなどで、しかもチューンして行かないと厳しいと思う。
もしくはそもそも、ビルドしている間はXやサーバ類を全て切った状態でやるか。
ま、コンパイラ周りでメモリリークしてる可能性もあるので、修正版を待ちましょう:-)




721 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 15:33:26 ]
twmなら快適です

722 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 06:47:50 ]
>>720
そんなことない。
メモリ 256MB、スワップ 1GB 程度でも GNOME だって充分動く。
Xorg のコンパイルでアホみたいにメモリ食うのは GCC のバグだし。
gcc.gnu.org/bugzilla/show_bug.cgi?id=30052

723 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 07:11:51 ]
4.2のかなり大きなバグがまた一つ…って感じか。
にしても、FreeBSD-currentを筆頭に、gcc-4.2に移行するOSがかなり多いのにはびっくり。

724 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 15:53:34 ]
4.2はいらない子

725 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 16:03:46 ]
4.2はダメな子

726 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 20:04:47 ]
>>722
gcc-4.2.0のコンパイルにメモリバカ食いするのもgcc-4.2.0のバグですか?

727 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 20:37:33 ]
仕様です。
4.2がコンパイルできないようなマシンで使うなということです。

728 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 00:18:41 ]
openmpのコード吐かせてるけど
これ対してというか全然糞もマルチスレッド化されねーぞw
どうゆうことよw

729 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 00:56:11 ]
つ export OMP_NUM_THREADS=16

730 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 01:16:35 ]
>>729
それでも全然はやくねーぞ?QuadCore-Xeon2コ積んでるけど
なんもはやくね。VCCだと早くなるんだよね。

絶対4.2は障害児だ



731 名前:・∀・)っ-くコ:彡- mailto:sage [2007/05/27(日) 02:01:18 ]
4.xは何かおかしい。やっぱ3.3が最強か

732 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 13:44:26 ]
>>731
gcc-snapshotが最強

733 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 14:56:04 ]
3.3.3が一番いい子
4.3がそれを越えるいい子になってくれますように…

多分4.2よりも赤帽拡張の入った4.1.xの方が性能いいと思う

734 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 15:01:22 ]
>>726
つ stage2

735 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 15:08:12 ]
>>733
とはいえ、C++のことを考えるとgcc4が必須になりつつあるからなぁ。

736 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 15:08:50 ]
一応今入れているのがsnapshot。これだとバージョンが4.2.1って表示されますね。
でも4.2に変えてからJavaのソースからVMをmakeしようとするとエラーが出るようになった(TT)

>>731
> 4.xは何かおかしい。やっぱ3.3が最強か
詳しいことはよく解らないけど、マルチメディア系のアプリとかmakeでエラーが出るやつも
3.3とか使うと何故かエラーなしでmakeできたりしてました。以前から。。。

737 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 16:06:11 ]
>>736
つ-fno-strict-aliasing

738 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 11:38:36 ]
それってWarnが厳密にErrorになっただけじゃないのか。

739 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 17:44:14 ]
GCCは3以降特に4.0あたりから、文法以前に論理的に怪しい挙動に陥りそうなコーディングをエラーにする方向に行ってるからね。
逆にいえば、>>736が言っているような形でエラーが出るコードは、該当する部分の前後をチェックしながら修正かけるのが筋。
今でもコンパイルが通ってi386で動いてもPPCやSH,ARM、酷いときはamd64やia64でもコンパイルは通るけど挙動が狂ってしまうようなコードを平気で書いてるひとが少なくないようだし
…Linuxなどのカーネル周りのコードでもそういうコードがあって、lkmlなどで修正が飛び交うことがよくある。

740 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 20:01:19 ]
アライメント事情はよくわからんしなー



741 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 10:53:10 ]
openmpは4.2じゃないと使えないの?

742 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 16:05:45 ]
4.3でもいけると思うけど。

743 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 20:55:27 ]
ディストリがパッチ当てたやつだと4.1でもいける

744 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 17:09:48 ]
gcc4.1で自動ベクトル化を使おうとすると
too many BBs in loop
というメッセージが出るのですが、BBって何ですか?

それと
not vectorized: multiple exits
はどのようにしたら解消できるのでしょうか?

インテルコンパイラではベクトル化できていました。
その際のオプションは
-O3 -xW -ansi_alias
です。


745 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 04:26:30 ]
>>BB
Bベクトルに決まってるだろ?

746 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 08:33:50 ]
真・三國無双BB

747 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 09:50:51 ]
もはやBB戦士の時代ではないのか・・・

748 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 12:03:14 ]
ガチャポン戦士こそ至高

749 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 13:31:50 ]
BBクィ(ry

750 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 19:11:33 ]
gcc.gnu.org/ml/gcc/2007-06/msg00201.html
* Dataflow branch.

  Kenny et. al. plan to merge this Monday.

gcc.gnu.org/ml/gcc/2007-06/msg00206.html
I wasn't sure of the Objective-C 2.0 timing until recently... I'd like to contribute it during stage 2.

gcc.gnu.org/ml/gcc/2007-06/msg00211.html
Intel is planning to contribute Intel BID runtime library before July
1.



751 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 02:22:42 ]
gcc4で、デフォルトで定義されてるシンボルを知るのってどうしたらいいでしょう?
(-D__unix__ とか -D__i386__ とか -D__GNUC__=2 とか)

昔は gcc -v -E - < /dev/null で確認できたのですが、
gcc4からは表示してくれなくなったようなので…

752 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 04:52:28 ]
gcc -dM -E - < /dev/null
詳しくはinfoのPreprocessor Optionsをどうぞ。

753 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 10:13:20 ]
おおおおおおお。
ありがとうございました。一度きちんとinfoに目を通します。

754 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 08:23:00 ]
よーし、おまいら、もう一度
gcc --help と叩くんだ

755 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 17:08:52 ]
$ gcc --help
-bash: gcc: command not found


756 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 21:37:42 ]
            ∩___∩
            /  ノ   \  ヽ 
            | ●    ● |
          彡   (_●_)    ミ  
           /、   |∪|    ,\   >>755 この鮭の切り身やるから帰れよ
          /.|     ヽノ    | ヽ   
       ,,/-―ー-、, --、   .|_,|
    r-、,'''";;:;;:;::;;;;:;;::;:;:;;::;:;`'- /_,l,,__ )
   |,,ノ;;:;r'" ̄ ゙̄^"`Y'-、;;;::;:;::;:;:;:;::;:|
    .ヽ,′       ;   `"";;;;;⌒゙')
     ´`゙'''''''''''‐-‐'"`‐-‐'"゛  `゙´
              |  .‖ /
            ("___|_`つ  

757 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 21:58:44 ]
わろす

758 名前:デフォルトの名無しさん [2007/06/22(金) 09:15:00 ]
4.2.1マーダーーーー????

759 名前:デフォルトの名無しさん mailto:age [2007/06/23(土) 03:33:34 ]
うまうま

760 名前:デフォルトの名無しさん mailto:sega [2007/06/29(金) 18:51:40 ]
コンパイル(リンク)時に、ある関数をリンクしようとしたら
メッセージを出すようにしたいんだけど
どうしたらいいのかね



761 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 18:59:32 ]
>>760
ELFだったら、リンクされる関数のオブジェクト内に".gnu.warning"セク
ションを仕込む。


762 名前:デフォルトの名無しさん [2007/07/01(日) 00:23:19 ]
>>761
サンクスコ
Cのソースからセクションを仕込む方法は自分で調べる

763 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 10:14:19 ]
link-warning.hでググれ
www.gnu.org/software/gsasl/doxygen/link-warning_8h-source.html

764 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 15:17:06 ]
素直に .gnu.warning でググりゃいい。

www.google.com/codesearch?hl=ja&inlang=ja&ie=Shift_JIS&num=100&q=

765 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 15:18:04 ]
リンクミスった。こっち。www.google.com/codesearch?q=.gnu.warning

766 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 21:52:31 ]
GCC4.0.2でCygwin上でno-cygwinオプション付けたら定義されてないって怒られた…

767 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:15:18 ]
そりゃそうだ。Cygwin付属のGCCは特製。
自前でビルドしたGCCなら、プリプロセッサ識別子の定義と
リンクさせるライブラリの選択をどうにかすれば何とかなると思う。

768 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:24:56 BE:396279465-2BP(8000)]
ありがとう。やってみる。

769 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 17:03:47 ]
4.3.0がstage2に突入しているね。4.2.0の時とは違って、かなり順調な感じ。
ttp://gcc.gnu.org/ml/gcc/2007-06/msg00954.html

770 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 21:34:44 ]
あと半年程度で出てほしいな…
ディストリパッチ付きの4.1はいい環境だがさすがに飽きる



771 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 00:24:19 ]
4.2は鬼っ子で終わるか…

772 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 04:11:32 ]
>>771
そもそも、流産させようという意見のほうが強力だったわけだし…

773 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 16:58:18 ]
4.3はいつ出ますか?

774 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 19:34:27 ]
>>773
ttp://gcc.gnu.org/develop.html#timeline
を見るとわかるようにgcc-4.1はstage2入ってからリリースまで約8ヶ月、
4.2は約14ヶ月という具合にバラバラ。

なので、半年以上先だろうなぁという予想は立つけど、いつになるのかは
さっぱりわからん。

775 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 23:00:06 ]
どうせ赤帽の都合でしょ?

776 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 01:36:09 ]
ちょっとbinutils/gcc/gdbのツールチェインのビルドについて判らない点が
あるので教えてください。

組み込みだとターゲット用にbinutils/gcc/gdbの3点セットをまず作る訳ですが、
ここでgccのビルド方法としては

・素の、libcなしのgcc(--without-headers)をビルドするのみ
・libcなしgccをビルドした後、そのgccを使って--with-headers=...で何らかのlibcを組み込んだgccをリビルド

の2つがあります。で、質問なのですが、

・後者のgccで-nostdlibすれば、前者のlibcなしgccを使うのと同じことですか?
・前者のgccで別途ビルドしたlibcとリンクすれば、後者を使うのと同じことですか?

色々な構成にあわせてgccをビルドするのが面倒なので、gccとしては
libc抜きgccのみ用意して、後はnewlib/uclibc/dietlibc/eglibcを
別途外部ライブラリとしてビルドし、アプリ側ビルドファイルのほうで
リンクするlibcを選択するような形にしようかと考えています。

777 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 10:30:28 ]
>>776
libgccどうすんの?


778 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 12:53:08 ]
from GCC ML
------------------------------------------
Subject: 4.2 branch frozen for release

I plan to spin the GCC 4.2.1 release tomorrow.

Please do not make any further changes to the branch.

Thanks,

779 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 09:18:52 ]
#define int64 long int(longとintの間にスペースがあるのがミソ)を
gcc実行時の-Dオプションで実現したいんですが
どうすればいいでしょうか

780 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 10:12:04 ]
自己解決しました
どうもすみません



781 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 11:49:28 ]
typedef を使わないのはソースをいじれないから?

782 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 09:33:39 ]
糞質問に糞レスw

783 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 21:49:21 ]
4.2.1キター

784 名前:デフォルトの名無しさん [2007/07/24(火) 15:05:58 ]
>>777
そんなもん使うな。
初期化と割り算を避けまくればなんとかなる。

785 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:57:40 ]
GCC でも VC++ と同じ形の #pragma pack が使えるみたいですが、
これってバージョンいくらくらいから導入されましたか?

786 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 19:01:39 ]
>>785
タラちゃんに聞いてみたら

787 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 01:12:40 ]
プリコンパイル済みヘッダってほとんど使われてないよね

788 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 01:20:22 ]
Mac OS X

789 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 01:23:26 ]
そもそも使い方が分からない
gccをビルドするときにgch作られてるなと思うくらい

790 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 19:24:44 ]
.hをGCCに渡すだけだったような



791 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 19:28:57 ]
pch使うにはちょっとコツがいる。英文ページに解説があるけど...

792 名前:デフォルトの名無しさん [2007/08/05(日) 16:22:57 ]
unsignedをforに使うと警告出るんだね・・・
警告消す方法ないのかなぁ

793 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 16:36:51 ]
>>792
符号有り無しの比較だろ?なら型を合わせろ。

794 名前:・∀・)っ-くコ:彡- mailto:sage [2007/08/05(日) 16:51:56 ]
for (unsigned int i = 0; i < n; i++)

とかなら、n の型が単にsignedなだけだろうが

795 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 16:56:22 ]
ループカウンタとループ上限の値の型ははっきりと揃えるべし。

796 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:43:50 ]
-Wno-sign-compareで消えるはず。

797 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:46:35 ]
それは重要な警告だから解決とは言わん。

798 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:47:11 ]
消していいのか、と。

799 名前:・∀・)っ-くコ:彡- mailto:sage [2007/08/05(日) 18:53:01 ]
電車の脱線が起きても無視すれば運行に支障なしって言ってるのと変わらん

800 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:54:05 ]
集中砲火ワロタ



801 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 19:03:53 ]
ダンゴ先生の発言はいつもピリリとしてるな

802 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 21:02:22 ]
スレが進んでるかと思えばこんなかw

803 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 11:42:17 ]
その質問をコンパイラのスレに書き込む時点で腐ってる

804 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 08:55:47 ]
g++ 使って独習C++の例文ためしてたらそのままでは、エラーがコンパイルできなかった。

template <class T> class Num {
public:
T x;
Num(T i) { x = i; }
virtual T get_val() { return x; };
};

template <class T>
class Square : public Num<T> {
public:
Square(T i) : Num<T>(i) {}
T get_val() { return x * x; }
};

を一応継承したクラスで、"x"を"Num<T>::x"としたらコンパイルできたけど、
他のコンパイラでためしたら↑でもできるんだが、このままで、g++で通すこと出来ませんか?

805 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 09:05:10 ]
>>804
そのままじゃ無理。
this->x でもいける。

gcc.gnu.org/gcc-3.4/changes.html
"In a template definition, unqualified names will no longer find members of a dependent base ..."

806 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 12:01:20 ]
>>805
サンクス

807 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 10:57:04 ]
インラインアセンブラの構文を知りたいと思い、
4.21のgcc.infoを読んでいるのですが、
5.35 Assembler Instruction with C Expression Operands
しか見つからず、制約に関することしかわかりません。
構文はどこに載っているのでしょうか。


808 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 11:02:05 ]
as.info

809 名前:807 mailto:sage [2007/08/08(水) 21:24:08 ]
アセンブラの構文ではなく、
インラインアセンブラの構文なんですが...

810 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 22:46:48 ]
制約については
gccint.info か
gcc/config/*/*.{c,h,md}
を眺めれ。

ターゲットとか記述したいものを書けば誰か答えてくれるんでね?



811 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 23:02:08 ]
www.google.co.jp/search?q=gcc+%E3%82%A4%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%A9
こういうのとは違うのかね

812 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 23:16:36 ]
アセンブラの構文 + インラインアセンブラの制約
以外に何が知りたいのか分からない。

asm("mnemonic"
  : "+r"(var), "r"(var2)
  : "="(var3)
  : "g"(var4));
のコロンで区切る部分の意味を知りたいなら 5.37 Constraints for asm Operands を。

ニモニックそのものを知りたいならここじゃない何処かへ。

813 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 12:56:59 ]
>>799
いや、さすがにそれは支障あるw


814 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 12:59:35 ]
ここではないどこかへ

815 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 21:15:08 ]
>>813
>>796 も同じくらい支障があるって話だ。

816 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 16:43:58 ]
GCC 4.3.0 Status Report (2007-08-09)
gcc.gnu.org/ml/gcc/2007-08/msg00181.html

来月にはstage3に入るらしい
うまくいけば今年中に出るかなぁ…

817 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 17:15:58 ]
C++0x のどのくらいかは
拡張機能として対応してくれるのかね。

818 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 00:46:49 ]
>>817
既にいくつか対応してる。
gcc.gnu.org/gcc-4.3/cxx0x_status.html

819 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 07:08:04 ]
GCCで文法チェックだけするって無理?
リンクとかしなくていいから(単体で)コンパイルできないときだけ
エラー出してほしい。

820 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 07:30:56 ]
>>819
リンクどころかアセンブルさえせずにコンパイルするだけなら-S
アセンブルまでなら-c



821 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 08:10:07 ]
&& って何だー

822 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 08:16:06 ]
>>821
釣り? マジならC初心者スレへ。

823 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 08:23:00 ]
>>820
ありがと!でもけっこう遅いなあ・・・。文法チェックだけならもっと速いと思ってたんだが・・

824 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 08:28:40 ]
>>823
Cならsplint使えば?

+skip-sys-headers +single-include +posixlib な感じ?

825 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 08:40:41 ]
>>822
>>818 にある右辺値参照の方ね。

826 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 09:48:04 ]
>>819 -fsyntax-only

827 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 10:55:28 ]
>>825
あぁ、operator&&ね。

828 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 10:56:29 ]
違うだろ。

829 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 13:21:45 ]
破壊的コピーをするみたいだが、
それを意識してプログラムするのは難しそうに感じる。
どうなんだろう。

830 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 13:33:25 ]
move semanticsでググれ。

>>829
> それを意識してプログラムするのは難しそうに感じる。

それが欠点になる領域ではC++は使わないのが良い。




831 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 18:59:36 ]
>829
ライブラリ作る側が頑張って対応してくれれば使う俺らはあまり考えなくても(゚Д゚)ウマー、というのが妥当な使われ方なんじゃないの?
一般人が template metaprogramming なんかしない(よな?)のと同じようなレベルで。

832 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 19:54:04 ]
*_ptr見ても、それが難しいのは分かるだろ?
C++はもはやプログラミング言語の実験場だ!

833 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 14:33:30 ]
次期では auto_ptr は deprecated になるっぽいな。
shared_ptr を推奨するようだ。

834 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 17:00:23 ]
C++ 俺に近づくとやけどするぜ


835 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 14:41:10 ]
AT互換機でMacOS用のバイナリを作るクロス環境って・・・作れないのかな?

ググってみても事例が見つからない

836 名前:デフォルトの名無しさん [2007/08/27(月) 14:44:15 ]
失礼

age忘れた

837 名前:デフォルトの名無しさん [2007/08/27(月) 15:07:59 ]
>>833
次期って何の次期?

838 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 15:21:49 ]
ISO/IEC 14882:2003 の次期のことじゃね

839 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 16:52:45 ]
ldd で出てくる共有ライブラリのパスを書き換えることってできない?

$ ldd foobar
libfoobar.so.1 => /somedirectory/libfoobar.so.1 (0x00000000)

って絶対パスになってるんだけど、このsomedirectroyを移動したいの。

840 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 17:21:40 ]
>>839
質問を文字通りに受け取るなら、
$ ldd foobar | sed "s/somedirectory/anotherdirectory/g"
で。


ライブラリのパスは、実行ファイル内では
・相対パス(basename)が入っている場合
・絶対パスが入っている場合
がありんす。
前者は、$LD_LIBRARY_PATH を指定すればいい。
後者は、バイナリエディタで実行ファイルを書き換えるとか、
$LD_PRELOAD で上書きするとか。




841 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 17:31:47 ]
もちろん下の意味だけど、LD環境変数は使いたくない。

そーかーやっぱバイナリ書き換えが必要かー。そういうツールないのかなあ。
とにかくありがと!

842 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 17:47:36 ]
/etc/ld.so.conf.d?

843 名前:デフォルトの名無しさん mailto:sage [2007/09/04(火) 14:10:54 ]
man ldconfig

844 名前:デフォルトの名無しさん mailto:sage [2007/09/04(火) 14:21:24 ]
>>842
deb系のディストリか?
普通は/etc/ld.so.confだと思うけど

/etc/ld.so.conf.dがあるならそのディレクトリの中のファイルを参考に
自分でパスを追加したいのを作ればいい

追加したらrootで

# ldconfig

これで環境変数のキャッシュを更新してくれる

845 名前:デフォルトの名無しさん [2007/09/12(水) 14:34:48 ]
gcc.gnu.org/ml/gcc/2007-09/msg00240.html GCC 4.2.2 RC1
gcc.gnu.org/ml/gcc/2007-09/msg00286.html GCC 4.3.0: Stage 3

順調に進んでるのだなァ…

846 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 16:58:07 ]
>>839
chrpath は?


847 名前:デフォルトの名無しさん [2007/09/13(木) 19:56:13 ]
ゲーツェーツェー

848 名前:デフォルトの名無しさん [2007/09/13(木) 19:57:04 ]
っていうか、ジーダブルシーって言う奴がいてムカつく。

849 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 20:16:43 ]
ジーシーシーでいいじゃんよねー

850 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 21:38:03 ]
IEEEはアイイーイーイ−だよな。
GCCは日本人らしくグニュ・コンパイラ・コレクションと呼ぼう



851 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 22:35:40 ]
あいさんいー

852 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 22:50:28 ]
イェェェ!

853 名前:デフォルトの名無しさん [2007/09/14(金) 08:58:48 ]
発音は大事だ。

ヘッケラー・アンド・コッホ
とか言うバカもんがいるが、なぜドイツ語の間に「アンド」などという英語が含まれているのか。
元がドイツ語なのだから、全部ドイツ語にして
「ヘッケラー・ウント・コッホ」と呼ぶべきだ。

854 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 09:13:36 ]
GNUで言語も作ってしまえ
ライセンスはもちろんGPL

855 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 09:15:43 ]
     ・ウン ・コ  

856 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 09:40:30 ]
>>854
言語にはライセンス/コピーライトがありません。

857 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 09:41:48 ]
マジレス禁

858 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 09:42:35 ]
やけに伸びてるな、というときは期待できない
と予め思いつつ見たけど、やっぱりウゼェ……
なんでこういうのにだけは以上に喰い付きがいいんだ

859 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 10:49:09 ]
マジで言ってるわけじゃないだろw

860 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 13:11:54 ]
ぐくっ



861 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 14:19:13 ]
>>856
言語の仕様書がGFDLなんだろう、たぶん。

862 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 17:02:05 ]
ADAスレがもう織田信長スレしか無い件

863 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 17:02:58 ]
違った武田信玄だったけどもう落ちてるオワタ

864 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 17:16:05 ]
英語は発音大事と言ってはいるものの、実際に
インペろぅベド(imperoved)とか言われるとムカッと来るからな。

865 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 17:17:55 ]
グロゥバロゥとかヴァアミアンとかね

866 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 01:22:29 ]
織田信長って言語まじであるの?

867 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 02:28:47 ]
>>864
そんな英単語は無い

868 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 11:11:33 ]
いまgdbのバグ?みたいなものを追いかけてて、再現条件が

・ある64bitローカル変数(long long)が
・最適化によってもoptimized outされずに
・スタックに取られずレジスタに直接アサインされる

というあたりにあるのではないかと考えてます。この時 (gdb) p var の
出力での sign bit のハンドリングが違うような感じ>gdbのバグ?

で、これの再現コードを作ろうとしているのですが、

・レジスタに乗せる方向に誘導 -> register
・最適化させない -> volatile?

にすると、register は無視で普通にメモリに乗ってしまってうまく
いきません。で、

volatile register int64_t max asm("%edi:%esi");

でそんな風にならないかと試し中なのですが、↑はレジスタ1つ(32bit)なら
いけるものの、2つで64bit変数を表したい時の書き方がわかりません。

どなたか教えてくださいませ・・・


869 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 12:47:51 ]
アセンブリ手で書けばいいじゃん

870 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 14:00:44 ]
デバッガから見える変数にバインドされるレジスタを、どうやって
アセンブリ手書きで設定するのか、正直わかりません。

シンボルデバッグ情報に変数<->レジスタ・メモリアドレスマッピングは
入っていると思うんですが、これも手書きできるということ?もしかして
インラインアセンブラではなく、フルアセンブラで書くという話なら
それはちょっと自分の能力を越えてるような・・・



871 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 14:05:42 ]
>>870
こんな関数でもコンパイルしてみりゃ何をすればいいか判るんじゃね?
--
long long func(long long foo)
{
return foo;
}


872 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 18:20:08 ]
>>971
それって .debug_* セクションを自分で作れとやっぱり言ってる?
info gdb-int してみたけど、激しくハードル高い・・・

873 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 18:37:11 ]
>>872
戻り値は64bitのレジスタ変数と同じ状態になるわけだが。
ついでに、gcc -S-gすればデバッグ情報が漏れなく埋め込まれるわけだが。
もしかして、その程度の知識もないのにデバッガを疑っちゃってるわけ?

874 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 19:19:00 ]
>>873
gdbが黒だとは言ってなくて、ただgdbからの見え方がその条件差で
必ず違うので、もっと詳しく見たいと思ってます。

そのコードだとgdbからは変数はレジスタにバインドされて見えないので
別の方法をまだ考えてますが、-Sのダンプでデバッグ情報埋め込み方法を
調べられるという考えは頭から抜けてました。やってみます。


875 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 09:32:01 ]
もっと謙虚になって出直せ。

876 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 20:52:19 ]
gdb のソース読めばいいのでは?

877 名前:868 mailto:sage [2007/09/16(日) 22:08:28 ]
すみません、>>875 の通り、私ごときのレベルでしていい話ではなかったと
痛感しているので、全部なかったことにして下さい。このスレに書いていいと
認めてもらえる程度になるまでROMってます。

878 名前:デフォルトの名無しさん [2007/09/18(火) 13:32:01 ]
i686環境で例えばPPC用に何らかのアプリなどをクロスコンパイリンゲすると
本当にPPC環境で動くもんなの???

玄箱HGでも買おうかと思うのだが、さすがに玄箱でビルドとかすると、
PPC266MHzじゃつからろうなあ、と思って、
できれば速いi686環境でPPCにガチガチに最適化してから玄箱に転送できれば。

879 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 13:49:25 ]
何をビルドするの?
ほとんどバイナリパッケージが揃っているけど? > 玄箱debian
「ガチガチに最適化」とかヲタ臭いことがやりたいなら、
ソースからバイナリパッケージを再ビルドすれば?

880 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 13:49:31 ]
>>878
簡単なテストプログラム書いて、動くかどうかやってみればいいんじゃないの?



881 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 13:59:31 ]
>>880
まだ買ってないだろw

882 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 14:01:16 ]
>>881
linuxじゃないけど、クロス環境でやったことあるけど...

883 名前:デフォルトの名無しさん [2007/09/18(火) 14:28:24 ]
クロス・ダァイッチュラント

884 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 14:29:50 ]
kurohako遅いよ

885 名前:デフォルトの名無しさん [2007/09/18(火) 14:58:58 ]
ゲーツェーツェーを来んあぴるするのに4時間くらいかかりそうだな
Pentium3 500MHzでさえ4時間かかったのだから

886 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 15:04:49 ]
コンパイルを4時間とか考えられないし見たことも無い俺は素人

887 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 15:24:52 ]
X68kでgcc1.3のコンパイルに一晩かかった時代もありました

888 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 15:32:21 ]
動画のエンコードをやるようになると、4時間というのは大した時間に思えなくなる。
2passで47時間とかあるからな。

889 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 16:31:48 ]
それはさすがにPCごと買い替えとか考えるべき時間のかかりようだと思う。

890 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 17:06:07 ]
24時間ビーテレだから

1時間2時間コンテンツでそれだけかかったらアレだが。



891 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 17:06:17 ]
>>885
もっとかかったような気もするが…
寝る前にmakeしておくと、起きるまでには終わってるくらい。


892 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 17:13:12 ]
起きたらエラーで止まってたとか?

893 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 17:59:15 ]
昔は X11 をコンパイルするのに12時間とか普通やったよねぇ…

894 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 19:19:35 ]
今はOpenOfficeが身近で最もヤヴァいヤツだと思うんだがどうよ?

895 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 19:22:28 ]
Qtのビルドはまいったな。ホントに一晩かかってしまった。

896 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 22:04:58 ]
時間かけたくないから、クロスコンパイルするって話じゃないのか?

897 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 09:59:48 ]
今でもクロスコンパイルが難しいアプリもあるけどね。
コンパイル時に実行ファイルを生成して利用するような奴。
昔Linux Zaurusで結構苦労した。

898 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 10:18:38 ]
ちゃんとしたプロジェクトなら
configure等でhostとtargetを指定できる

899 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 15:15:18 ]
そもそも、クロスと名の付く奴はどれもこれもむずかしい。
「クロスカウンター」狙ってできる奴などいないであろうほど難しい。
「クロスコンパイル」やり方がまず難しいし、それでいいのかどうかの判断も難しい。
「マクロス」ガンダムのパクリなのか何なのか、評価の付け方が難しい。
「セクロス」難しい。




900 名前:デフォルトの名無しさん [2007/09/19(水) 15:25:33 ]
GCC5になって3系で作ったときのバイナリの実行速度と4系の新機能がついに統合される夢を見たこともある。



901 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 15:33:37 ]
ia32の最適化は限界なんだろ?
世の流れは爆速、爆熱CPUを求めてるみたいだね?

902 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 16:31:06 ]
流れは爆数コア、爆並列だ。

903 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 16:31:48 ]
え、OSがついていけてないような?

904 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 16:44:53 ]
時代はオプテロン

905 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 16:55:13 ]
>>903
そこで仮想化ですよ

906 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 17:48:48 ]
いきなり豆知識 「殺菌灯」

ディパートメントゥストゥア(英語は発音大事だがこのように書くと非常にムカつくので注意が必要)などでよくある殺菌灯は
何か特別なものだと思い込んでいるのもいるが、あれは蛍光灯と同じである。
蛍光灯というのは水銀蒸気を封入し、そこに電荷をかけることで強力なUV-Cと呼ばれる紫外線を発生させる。
(封入されているのは水銀蒸気であるから、割れた蛍光管のそばにいるのは危険である)

蛍光灯と殺菌等の違いは、この紫外線をどう利用するかによって異なり、
蛍光物質で紫外線を吸収して可視光線に変換するのが蛍光灯
そういうことをせず、直にUV-Cを出すのが殺菌灯

というわけだ。
UV-C領域の紫外線は殺菌性に優れるが、皮膚に深く浸透して細胞まで害を及ぼすため
直視してはいけないのである。

907 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 17:50:44 ]
GCCとどういった関係が

908 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 21:09:59 ]
>>907
>水銀蒸気で殺菌する

まで読んだ

909 名前:デフォルトの名無しさん [2007/09/19(水) 21:35:13 ]
↓で誘導されますた
マルチスレッドプログラミング相談室 その6
pc11.2ch.net/test/read.cgi/tech/1187008532/

【OS】
Debian Etch Linux kernel 2.6.18
【言語】
C pthread
【実行環境】
GNU gdb 6.4.90-debian
gcc (GCC) 4.1.2

gdbでのマルチスレッドのデバッグ中、任意のスレッドでステップ実行をしていると
とつぜんカレントスレッドが切り替わり、
ステップ実行していたスレッドの実行位置が失われる現象に遭遇します。
デバッグ対象のプログラムは、動作確認がとれているオープンソースのプログラムです。
原因、回避法等ご存知のかた、ご教示いただけないでしょうか

910 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 21:59:00 ]
>>909
裏のブレークも引っかかった



911 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 22:12:45 ]
>>910
仮に別スレッドのブレークポイントでスレッドが切り替わったとしても
threadコマンドで元スレッドにもどれますよね?
切り替わった時点でステップ実行していたスレッドの現在位置が??() (こんな表示)
になって元に戻れなくなってしまいます。

912 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 18:39:25 ]
GCC4.2.2を使ってました。このスレを読んでいたら4.1か4.3にした方が良いような気がしてきたので
4.3をコンパイルしたらエラーもなく終わったのでインストール。
しかし。。。カーネルのコンパイルが出来ません(TT)
getnstimeofdayとかudivdi3とかのエラー関係がでます。おとなしく4.1系に戻そう・・

913 名前:デフォルトの名無しさん [2007/09/22(土) 23:26:06 ]
Linux(x86,32bit)で下記プロセサを使っている場合、-mXXX や -mcpu=XXX や -march=XXX には何を書くのが良いのでしょうか?

processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 47
model name      : AMD Athlon(tm) 64 Processor 3200+
stepping        : 2
cpu MHz         : 999.876
cache size      : 512 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow up pni lahf_lm ts fid vid ttp tm stc
bogomips        : 3537.29
clflush size    : 64


914 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 23:46:49 ]
-march=athlon

915 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 00:26:42 ]
-march=athlon64

916 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 00:59:43 ]
>>913
ゲントとかいうLinuxのサイトからですが
gentoo-wiki.com/Safe_Cflags

917 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 01:33:38 ]
じぇんつー

918 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 22:39:33 ]
>>913
-march=k8 -msse3

919 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:43:46 ]
頼むからmarchを「マーチ」ちゅうのやめてくれと。


920 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:47:09 ]
マーチです



921 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 01:23:18 ]
ですマーチ

922 名前:920 mailto:sage [2007/09/24(月) 01:34:19 ]
予想通り

923 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 01:59:33 ]
さりげな・く〜♪

924 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 10:05:21 BE:23579377-2BP(1)]
>>913
-march=native

925 名前:デフォルトの名無しさん [2007/09/24(月) 18:27:32 ]
gcc -Wp,hogehoge の-Wpって何をするオプションですか?

926 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 18:38:12 ]
そんなんも知らんのか バカじゃねぇのw

927 名前:デフォルトの名無しさん [2007/09/24(月) 18:42:32 ]
質問を変えよう。

Fedoraのrpmのspecファイルを見ていると、CFLAGSに-Wp,-DXXX=YYYという指定をしている例がみられるの
だけど、単に-DXXX=YYYとしない理由は何か考えられますか?

gcc-4.1.2のinfoだと、-Wpはなるべく使うなと書かれているのだが...。
よろしくおねがいします。

928 名前:デフォルトの名無しさん [2007/09/24(月) 18:43:53 ]
>>926 よろしく。

929 名前:デフォルトの名無しさん [2007/09/24(月) 21:57:37 ]
天才926降臨期待age

930 名前:デフォルトの名無しさん [2007/09/26(水) 12:27:49 ]
MinGWの中の人がいつかきっとGCC3.4.6 for MinGWをリリースしてくれると信じてる。



931 名前:デフォルトの名無しさん [2007/09/27(木) 00:33:49 ]
MinGW

ゴールデンウィークが最小限なこと。
休みが一日しかないに違いない。

932 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 00:49:16 ]
ゴールデンウィークなんて死語だぜ

933 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 00:50:02 ]
ゴールデンウィークなんて(毎年)仕事だぜ

934 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 12:48:27 ]
GCC online docs

ジーシーシー オンライン ドクス

なんだよドクスって
ドクスとか言うな!!

935 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 13:04:36 ]
>>931
2008年や2014年の
 5月3日 = 土曜日
 5月4日 = 日曜日
 5月5日 = 月曜日
のことかー!!!

# でも4月29日の昭和の日が火曜日だから、4/26(土)・27(日)・28(月)・29(火)の連休もとりやすいんだよねw

936 名前:935 mailto:sage [2007/09/27(木) 13:06:58 ]
# やべっ、忘れてた。法改正されたから、2008年や2014年は5月6日が振替休日!

937 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 14:59:21 ]
掴もうぜ
ゴールデンボール

938 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 15:55:44 ]
gcc4.2.2rcが先月末にあがってたので入れてみた。
マーチネイチブ、エムチュンネイチブ、何気にいいですね。なんかアプリの動きが早くなった。


939 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 16:05:31 ]
>>938
>なんかアプリの動きが早くなった。
たぶん気のせいだよw

940 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 16:28:39 ]
>>939
気のせいかなwww
4.2が正式リリースされてすぐに入れた時は逆に遅くなったような気がしたけど、今度のはいい感じなんだけど
なあ。mplayerなんかではgcc関連の値をセットしなくてもconfigureかけるとアプリが勝手に-mtune=nativeに
設定してくるね。



941 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 12:21:41 ]
>>938
mtuneをエムチュンと読むのにmarchがマーチと読む心は?

942 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 22:06:39 ]
>>941
エムアーチ

943 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 22:21:24 ]
えむつね/えむあーち

944 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 23:02:36 ]
むちゅーん
むあーき

945 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 23:41:23 ]
むとーね
まるは

946 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 00:47:05 ]
まーくエッチ

947 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 01:21:57 ]
こうして日々GCCは進化していくのであった

948 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 17:34:00 ]
エムアークゥィティクチュワ!

949 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 18:45:18 ]
ウィキピィーディア

950 名前:デフォルトの名無しさん [2007/10/06(土) 18:25:57 ]
gccの--paramって、gcc4から使えるオプションだっけ?
あと、paramってコマンドラインでしか指定できないの?#pragmaで指定できると嬉しいのだが。



951 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 18:32:43 ]
>>950 3でも使える。pragmaの件は知らん。

952 名前:大槻 [2007/10/06(土) 19:00:47 ]
すべてはpragmaのせいです。

953 名前:デフォルトの名無しさん [2007/10/07(日) 00:18:12 ]
ストールマンって今何してんの?
まだemacsでオナニーしてんの?

954 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 08:52:40 ]
秀○やSAKURAでオナニーするよりよっぽど良いべ。

955 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 09:15:57 ]
少なくとも人の役にたってるオナニーだからいいじゃねぇか

956 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 09:38:54 ]
公開オナニーてっこと?

957 名前:デフォルトの名無しさん mailto:sega [2007/10/08(月) 01:29:18 ]
あるデバッグオプションを有効にしてコンパイルすると、
Segmentation faultで落ちたときにソースのファイル名と
行番号を表示するという機能があるらしいんですが
どのオプションでしょうか

958 名前:デフォルトの名無しさん [2007/10/08(月) 01:39:02 ]
>>957
OSがわからんからLinuxだとエスパー。

行番号情報をバイナリに埋めるには、gcc -g だ。できあがったバイナリをstripしないこと。
% file ./your_broken_software して、not stripped と表示されることを確認。

でも、SEGV食らったときに自動で落ちた場所を表示するコードを埋める機能はgccには無いよ。
一部のLinuxには、catchsegvというコマンドがついてるからそれ使え。

% catchsegv ./your_broken_software


959 名前:デフォルトの名無しさん [2007/10/08(月) 01:46:54 ]
うそだ、ごめん。catchsegvだと、PCの値とかバックトレースはでるけど、行番号は出ないね。
素直にgdb上で実行するのがよいと思うが?



960 名前:957 mailto:sage [2007/10/08(月) 02:39:57 ]
>>959
catchsegvか・・・ オッケー、刻んだ!



961 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 03:56:23 ]
PCがわかれば addr2line -e a.out pc で行番号わかるよ。

962 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 09:29:06 ]
$ gcc -g foo.c
$ gdb --batch -ex 'run あれば引数' ./a.out


963 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 11:05:30 ]
gccのループ展開の抑制について質問させてください。

コードサイズの評価をしようとして、常用している -O3 に
ループ展開の抑制だけを加えて -O3 -fno-unroll-loops -fno-peel-loops と
したんですが、ループ展開を止めてくれません。どうやればいいんでしょう?

gccのバージョンは4.1.2(tarballから展開・パッチなし)、
実行環境はi686-pc-linux-gnuとpowerpc-linuxです(どちらでも現象は同じ)。

問題のコードを直接晒せないので、再現コードを書きます:

 #define N 5

 int foo(int a[])
 {
  int t = 0, i;
  for (i = 0; i < N; i++) t += a[i];
  return t;
 }

上のように定数回の小ループがあって、ループ回数が少ないと展開するようです。
展開した場合は、ループ構造は削除され、中身が回数分反復されます。

-O2 とすればループ展開を行わなくなります。
でも、ループ展開以外の最適化は -O3 のままにしておきたいんです。


964 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 11:47:28 ]
トゥーチャノー(英語は発音大事)での、話のループを抑制したい。
こればっかりは、流れ石のGCC様の-Oも効かんでのう〜ゴホゴホッ(持病の癪が)

965 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 12:06:44 ]
>>964
癪は胸部腹部の痛みの総称なので、癪で咳き込む人はいない

966 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 12:38:41 ]
ボケ殺し……

967 名前:デフォルトの名無しさん [2007/10/09(火) 21:19:18 ]
GCC 4.2.2 リリース age

968 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 21:51:46 ]
>>963
4.1.2で色々やってみたけど抑制できなかった

969 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 22:02:20 ]
そこだけソース別けて-O2でコンパイルするとか...

970 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 23:04:35 ]
>>967
了解。今から長いコンパイルを開始します。



971 名前:963 mailto:sage [2007/10/10(水) 00:53:43 ]
>>968
どもです。お手数おかけしてます。やっぱり地味に難しいんでしょうか。

>>969
避けてしまうのはどうにでもできるんですが、ほしいのは
「このコードをこういう条件でコンパイルするとこういう結果になります」という
コード評価でして。コードの一部だけ最適化条件を変えるのは
できるだけしたくない、という事情です。
ただ、ここで詰まっていてもしょうがないので、
適当なところで見切りをつけますけどね。全体を-O2にしてしまうとか。

4.1.2のmanを調べたら「-O3は-O2に-finline-functions -funswitch-loops
-fgcse-after-reloadを足したもの」と書いてあったのですが、
-O2にこれらを足しても-O3と等しくはなりませんでした。うーむ。

972 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 02:02:49 ]
-O3 -fno-unroll-loops でいいんでないの?

973 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 04:53:20 ]
>>971
manは結構いいかげんなのでソースを当たるべし。

974 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 08:52:16 ]
さんざん既出だが、
自分で細かくコントロールしたければ、
-O3, -O2などを使ってはいけない。

975 名前:868 mailto:sage [2007/10/10(水) 11:29:11 ]
逆に考えて -O2 に -O3 で追加されるような -fhogehoge 追加してけば?

976 名前:私立ミンミンゼミ [2007/10/10(水) 12:24:09 ]
 

977 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 15:01:37 ]
念のため聞くけど、>>972とか>>975はギャグだよね……??

978 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 15:18:43 ]
>>975の何がおかしいのかわからない。

979 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 15:22:26 ]
きっと、-fhogehogeって名前のフラグがあると思ってるんだと推測。

980 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 15:29:25 ]
>>978-979
>>971に既にその方法でやってるが、manでは正確ではないようだ
という話が出てるのに>>975を敢えて書くってのは自爆ギャグとか
かと考えないと、辻褄が合いそうにない。
ま、ギャグだとしても全然面白くないけど。

てか、おまえらも注意力散漫なんだな。



981 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 15:35:05 ]
GNU製品のmanなんて宛てにしないでソースで正確なの調べろよ。

982 名前:デフォルトの名無しさん [2007/10/10(水) 18:33:46 ]
GNU製品のmanなんて信用せずに素直にinfo見ろよな

983 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 18:58:49 ]
GNU製かどうかは関係ない。
ソースから生成してるのでもないかぎり文書は不正確なもの。

984 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 19:45:03 ]
いや、info見ろよ。

985 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 20:57:03 ]
infoもこう書いてあるけど
`-O3'
Optimize yet more. `-O3' turns on all optimizations specified by
`-O2' and also turns on the `-finline-functions',
`-funswitch-loops' and `-fgcse-after-reload' options.

986 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 21:53:56 ]
>>983
でもさ、それって実装であって設計じゃないよね
ソフトウェア工学的にはうんこだよな

987 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 22:31:46 ]
>>986
いまだにMDAとか言ってる位に仕様書からの実装合成はhype気味なんだから
一介のフリーソフトがそこまでできてなくてもしょうがないだろう。だって人間だもの(みつを

988 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 08:03:19 ]
>>975
-O2使ったとたんに他の指定は上書きされるのが現実です。

個別に設定しても必ずその通りになるものではないし。
最適化技法間の制約があるので。

暗黙に無効、有効にする時に、Warningも出しません。
ソース読むしかないんです。

989 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 09:27:31 ]
どの最適化をするかくらいならすぐ読めるよね

990 名前:963 mailto:sage [2007/10/12(金) 00:58:21 ]
ソースを読みました。opts.c の decode_options() に最適化オプション読み込みの
基本部分がありました。大雑把には次のような構造でした。

 for (i = 1; i < argc; i++)
  { /* すべての-Oxオプションを通し読み */ }
 if (optimize >= 1)
  { flag_hoge = 1; ... } /* -O1以上でのフラグ設定を適用 */
 if (optimize >= 2)
  { flag_geho = 1; ... } /* -O2以上でのフラグ設定を適用 */
 ...
 handle_options(argc, argv, ...); /* 各オプションを処理 */

optimize >= 3 では、flag_inline_functions と flag_unswitch_loops と
flag_gcse_after_reload を 1 にしていました。
その箇所だけ読むとmanやinfoの記述は正しいことになるんですが、はて。
結局追いきれませんでした。

それから、>>988の通り、フラグ変数を書き換えてもその情報をどこにも伝えません。
ちょっと不便なような。。。

で、別解なんですが、「-O3 --param max-completely-peeled-insns=0」
と指定してpeelingを止めてしまえば目的を果たせることがわかりました。
この指定で行こうと思います。




991 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 01:22:28 ]
いや、該当するフラグ変数を全ソースで検索しないと。
コンパイル中にフラグの値変ることもあるし。

992 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 02:23:32 ]
>>991
ヒントありがとうございます。flag_unroll_loops と flag_peel_loops に
当たりをつけて探してみました。これだろうな、ってのが出てきました。

tree-ssa-loop.c:
static void
tree_complete_unroll (void)
{
 if (!current_loops)
  return;

 tree_unroll_loops_completely (current_loops,
                flag_unroll_loops
                || flag_peel_loops
                || optimize >= 3);
}

"optimize" でも軽く眺めてみましたが、フラグではなく最適化レベルの数値を
最適化の適用条件にしている箇所はそれなりに珍しいようです。


993 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 08:47:02 ]
> optimize >= 3

ワラ
イヤだねー

994 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 09:03:27 ]
将来を見据えた設計なのでは?

995 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 12:37:26 ]
>>994
断言できる。何も考えてないだけ。

996 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 22:06:08 ]
>>987
いや、ストールマンって趣味ならとても楽しくやりそうだけど
絶対に一緒に仕事やりたくない人種だよな

997 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 22:10:13 ]
次スレ建てられなかった
誰か頼む

998 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 00:08:45 ]
GCCについて part8
pc11.2ch.net/test/read.cgi/tech/1192201659/

999 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 00:36:21 ]
>>998

次スレでもみんなよろしく

1000 名前:デフォルトの名無しさん [2007/10/13(土) 00:37:18 ]
1000



1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<201KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef