2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

GCCについて part7

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

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

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

GNU Binutils
http://sources.redhat.com/binutils/

GCC online documentation
http://gcc.gnu.org/onlinedocs/

Installing GCC
http://gcc.gnu.org/install/

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

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


2 :デフォルトの名無しさん:2006/04/18(火) 20:06:03
http://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 :デフォルトの名無しさん:2006/04/18(火) 20:33:36
>>3
釣り乙

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

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

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

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

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

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



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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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


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

33 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2006/05/05(金) 15:23:39
ここはGCCのスレ。
言語自体の質問は専門スレへどうぞ。

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

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

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

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

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

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

43 :デフォルトの名無しさん:2006/05/07(日) 01:33:28
Debugging by Ian Lance Taylor
http://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を入れた。
例によって、デフォルトでは日本語の "表示" が通らない。
やはり、ダメかと思いながら、あれこれ検索していると
http://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 :デフォルトの名無しさん:2006/05/07(日) 07:52:50
ガベコレかと思ったらゲムキュブか。

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

typedef class A<int> X;

class B
{
friend X;
};

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

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

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

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

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

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

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


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

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

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

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

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

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

ってスレ違いだよな…

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

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

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


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

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


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

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

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

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

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

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

http://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 :デフォルトの名無しさん:2006/05/29(月) 09:50:20
>>83
http://gcc.gnu.org/ml/gcc/2006-05/msg00618.html

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

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

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

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

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

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

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

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

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

http://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 :デフォルトの名無しさん:2006/06/20(火) 14:45:38
>>94
> void hoge (char *s);

の間違い?

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

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

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

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

100 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2006/06/20(火) 22:58:03
暗黙の変換
一時オブジェクト

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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


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

130 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2006/06/25(日) 22:58:46
つうか、VS2005が実質フリーなんだしそれ使えよ


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

調べてみます。

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

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

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

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

日本語でどうぞ。


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


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

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

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

198 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2006/07/16(日) 19:44:14
知らない自慢スレはどこですか?

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

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

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

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

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

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

という事ではなく、

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

ということ。

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

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

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

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

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

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

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

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

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

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


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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

or

.configure option

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

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

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

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

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

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

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


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

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

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

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

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


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

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

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

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

そこは慣れるしかない。

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

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


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

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

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

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

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

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


なわけないよな

256 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2006/08/09(水) 02:21:35
./a

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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


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

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

それとも無理なんかな


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


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

284 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2006/08/18(金) 18:24:50
切れてないですよ
俺切れさせたら大したもんだよ

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


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

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

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

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

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

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

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

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

}
return 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

308 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2006/09/13(水) 14:18:54
error: 'for' loop initial declaration used outside C99 mode

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

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

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


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

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


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


316 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2006/09/17(日) 20:58:34
共有ライブラリのsonameをバイナリの状態で書き換える方法ってないものでしょうか?

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

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


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


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

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

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

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

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

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

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

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

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

329 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2006/10/09(月) 17:59:36
つまり、mingwを使いたいと言いながらgccを使っているわけだ。

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

332 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2006/10/13(金) 16:40:38
つgcc-config

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

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

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

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

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

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

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

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

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

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

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

344 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2006/10/15(日) 20:44:04
>>344
成功したら配布きぼん。

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

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

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

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

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

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

351 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2006/10/15(日) 23:45:45
最初に使う3.4.5はどうやって作ったの?

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





俺はやらないけどな。

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

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

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

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

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

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

(中略)

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

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

361 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2006/10/16(月) 01:23:39
一番最初までさかのぼると機械語で直にコーディングした強者にたどり着くのだろう

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

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

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


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

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

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

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

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

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

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

370 :デフォルトの名無しさん:2006/10/16(月) 17:25:14
ソース見ればわかるじゃん。

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

372 :デフォルトの名無しさん: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
http://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 :デフォルトの名無しさん:2006/10/16(月) 21:19:40
>>372
乙彼サマですっ(゚Д゚)>ビシッ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


http://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
http://sig9.com/articles/att-syntax


がんがれ>>393

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

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

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

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

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


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

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


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

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


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

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

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

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

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


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

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

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

412 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2006/10/29(日) 18:20:42
>>412
ffdshowの改良版とやらの方の不備ではないのか?

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

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

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

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

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

って板違いだな

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



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

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

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

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

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

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

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

うちの環境だけ?

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

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

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

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

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

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

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



板違いだからよそでやれ


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

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

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

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

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

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

$(GNUPLOT)/term/README読め。

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

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

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


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

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

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

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


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

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

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

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

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

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

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

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

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

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

452 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2006/11/13(月) 22:35:09
処理系による。limits.hでもお読みなさい。

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

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

458 :デフォルトの名無しさん: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:2006/11/13(月) 22:45:37
間違えたwww
nは8をかけてビット単位にしてね。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

476 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2006/11/20(月) 09:15:42
つ ld-*.soのソースとMakefile

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


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


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

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

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

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

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

forward propagation passが入るよー。

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



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

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

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

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

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

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

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

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

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

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

496 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2006/12/11(月) 00:30:11
ぐぐると出てくるぞ
ttp://d.hatena.ne.jp/shinichiro_h/20051109


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

499 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2006/12/17(日) 13:56:20
print出来ないの?

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

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

#define HOGE_A 123

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

enum { HOGE_A = 123 }

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


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

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




505 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2006/12/18(月) 12:38:59
good bad know how

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

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

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

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

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

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


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

513 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2007/02/09(金) 02:34:15
514はたぶんものすごいバカ

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

529 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2007/02/21(水) 04:13:03
>>529
書き間違い済まぬ -fwhole-program っすね

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

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

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

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

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

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

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


537 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2007/02/26(月) 23:54:46
横から失礼します。
-ftree-vectorizeで並列化した場合は、マルチCPUで効果があるのでしょうか。

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

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

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

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

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

114 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)