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
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 ] ごめんなさい