[表示 : 全て 最新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


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でのマルチスレッドのデバッグ中、任意のスレッドでステップ実行をしていると
とつぜんカレントスレッドが切り替わり、
ステップ実行していたスレッドの実行位置が失われる現象に遭遇します。
デバッグ対象のプログラムは、動作確認がとれているオープンソースのプログラムです。
原因、回避法等ご存知のかた、ご教示いただけないでしょうか






[ 続きを読む ] / [ 携帯版 ]

前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