一昔前は、そこらの商用コンパイラよりも良い最適化をする
といわれたGCCも最近は色あせてきてたけど。。。
待望の新バージョンリリースで巻き返しなるか?
とりあえずインストールしてみよう
祝・GCC 3.0リリース
■ このスレッドは過去ログ倉庫に格納されています
1さあね
NGNG199名無しさん@Emacs
NGNGNGNG
>>196
> benchimarkでしかあり得ないプログラムや
速い遅いを見るのがBenchmarkじゃないの?
> 数値計算やCG関係でMMXなんかがうまく使えた時に差がある程度と思うが?
数値計算やCGって実用域の性能には無関係だと?
VCはMMXの最適化なんてやんないよ。ProcessorPack入れたらInlineで
書けるって程度。VectorCは違うけど。
あのね、すぐWin厨って言わないでUNIXの外の広い世界も
勉強したほうがいいと思うけどな。
例えば同じマシンにKDEとWindows2000入れたらどっちが
さくさく動くと思う?
まぁ、そういうと、そらXがクソ、Qtがトロいせい。Win2000なんて
そもそも不安定だから比較対象にならんとか言い出すんだろうけどさ〜
> benchimarkでしかあり得ないプログラムや
速い遅いを見るのがBenchmarkじゃないの?
> 数値計算やCG関係でMMXなんかがうまく使えた時に差がある程度と思うが?
数値計算やCGって実用域の性能には無関係だと?
VCはMMXの最適化なんてやんないよ。ProcessorPack入れたらInlineで
書けるって程度。VectorCは違うけど。
あのね、すぐWin厨って言わないでUNIXの外の広い世界も
勉強したほうがいいと思うけどな。
例えば同じマシンにKDEとWindows2000入れたらどっちが
さくさく動くと思う?
まぁ、そういうと、そらXがクソ、Qtがトロいせい。Win2000なんて
そもそも不安定だから比較対象にならんとか言い出すんだろうけどさ〜
201名無しさん@お腹いっぱい。
NGNG >>200
比較対象にWindowsを持ってくるのはどうかと思うが、
いままでの*NIXの独善の歩みと言うべき姿勢は、
そろそろ見直される時期に来てるかも。
ソフトウェアの開発モデルとしては機能はしてるが
魅力やスピードが無いと言えるかも。
抽象的ですまんが
比較対象にWindowsを持ってくるのはどうかと思うが、
いままでの*NIXの独善の歩みと言うべき姿勢は、
そろそろ見直される時期に来てるかも。
ソフトウェアの開発モデルとしては機能はしてるが
魅力やスピードが無いと言えるかも。
抽象的ですまんが
NGNG
NGNG
> 例えば同じマシンにKDEとWindows2000入れたらどっちが
> さくさく動くと思う?
cygwinの上でKDE動かした方が遥かに遅かったが、なにか?
> さくさく動くと思う?
cygwinの上でKDE動かした方が遥かに遅かったが、なにか?
NGNG
NGNG
NGNG
207名無しさん@Emacs
NGNG なつだからっていちいち煽りにかっかしてんな。
そうめんみたいに流せ。
そうめんみたいに流せ。
NGNG
ネタにマジレスすると、KDEとWin2000のどちらがサクサク動くか、という点については
コンパイラ云々よりもウィンドウシステムの設計に依存するところが大きいでしょう。
win2kはご存知のとおりカーネル内にグラフィックサブシステムが入ってるから、
かなりの速度がでる。Xは残念ながらオーバーヘッドがでかい。
つーことは、上記のように環境が速度の最大ファクタであるような場面では
コンパイラの最適化能力なんてあんまり目立たない→重要でない
ってなことになっちゃうと思うんだが...
で、未だにコンパイラの速度を競うような場面ってそんなにありますか?
計算屋さんにとっては重要な問題なのかなあ。
ほとんどライブラリに頼ってる気がせんでもないけど。
コンパイラ云々よりもウィンドウシステムの設計に依存するところが大きいでしょう。
win2kはご存知のとおりカーネル内にグラフィックサブシステムが入ってるから、
かなりの速度がでる。Xは残念ながらオーバーヘッドがでかい。
つーことは、上記のように環境が速度の最大ファクタであるような場面では
コンパイラの最適化能力なんてあんまり目立たない→重要でない
ってなことになっちゃうと思うんだが...
で、未だにコンパイラの速度を競うような場面ってそんなにありますか?
計算屋さんにとっては重要な問題なのかなあ。
ほとんどライブラリに頼ってる気がせんでもないけど。
NGNG
>>203
そら遅くて当たり前…
そら遅くて当たり前…
210名無しさん@お腹いっぱい。
NGNG gcc-3.1.1 リリースage
NGNG
http://www.usenix.org/publications/library/proceedings/usenix-nt98/full_papers/zabatta/zabatta_html/zabatta.html
"Solaris 2.6 vs Windows NT 4.0"のスレッドパフォーマンス比較だけど,
The "same compiler", GNU gcc version 2.8.1, was used to compile the
test programs for both operating systems. ... However, later we
compiled the test programs with each system's native compiler (Visual
C++ 5.0 and SUN C Compiler 4.2) and found no significant differences
in performance.
となっているね.この場合,OS側のライブラリやカーネルを実行してる部分が多くて
ユーザプログラム側の部分によって大きな差がつかない,ということだろうね.
"Solaris 2.6 vs Windows NT 4.0"のスレッドパフォーマンス比較だけど,
The "same compiler", GNU gcc version 2.8.1, was used to compile the
test programs for both operating systems. ... However, later we
compiled the test programs with each system's native compiler (Visual
C++ 5.0 and SUN C Compiler 4.2) and found no significant differences
in performance.
となっているね.この場合,OS側のライブラリやカーネルを実行してる部分が多くて
ユーザプログラム側の部分によって大きな差がつかない,ということだろうね.
NGNG
板違いかもしんないけどさ。気に入らなかったら読み流してちょ。
コンパイラの教科書って、未だに Ahoのアレが一番メジャーなの?
あそこまで行かないにしても、それなりに網羅的に書いてある
もーちょっとモダーンな教科書あったら紹介きぼんぬ。
コンパイラの教科書って、未だに Ahoのアレが一番メジャーなの?
あそこまで行かないにしても、それなりに網羅的に書いてある
もーちょっとモダーンな教科書あったら紹介きぼんぬ。
213名無しさん@お腹いっぱい。
NGNGNGNG
>>212
つーか、最近は一冊にまとまっていない。分量多すぎ。
プログラミング言語一般論, parsing, type, code emiting&optimization
くらいに分かれている。翻訳があるドラゴンブック読んでから、次に進めばよい。
つーか、最近は一冊にまとまっていない。分量多すぎ。
プログラミング言語一般論, parsing, type, code emiting&optimization
くらいに分かれている。翻訳があるドラゴンブック読んでから、次に進めばよい。
216名無しさん@お腹いっぱい。
NGNG >212
中田育男著「コンパイラの構成と最適化」
中田育男著「コンパイラの構成と最適化」
NGNG
えいぷるさんの本があるべ
NGNG
NGNG
NGNG
正式リリースは 8/14 か。当初は 7/23 に出るとかいう話だったから、3週間遅れか。
NGNG
ftp.iij.ad.jp:/pub/GNU/gcc/ にはもうあるね。> gcc-3.2.tar.gz
223名無しさん@お腹いっぱい。
NGNG GCC 3.2 Released. アナウンスされた。
224名無しさん@お腹いっぱい。
NGNG GCCへの、というわけでもないですがコンパイラに関する
スレッドがみつけられなかったので質問させてください.
何とか社fooのCompiler (foocc)ver.10はsourceを書いた後
(2回目は自分自身でcompileするにしても)最初はfoocc-9で
compileするんでしょう.ver.9はver.8でcompile、と
考えていくとver.1はどうやってつくったんでしょうか?他の会社なりのhogeのcompiler(例えばhogecc-5とか)がその時あれば
ちょっと借りてきて1回目だけそれを使えばいいんですが、それでは
hogecc-1のsourceはどうやってcompileしたんでしょう?
最初は誰かえらい人がアセンブラで書いてくれた.位しか
思いつかないのですが...
こんなの常識なんでしょうか?
スレッドがみつけられなかったので質問させてください.
何とか社fooのCompiler (foocc)ver.10はsourceを書いた後
(2回目は自分自身でcompileするにしても)最初はfoocc-9で
compileするんでしょう.ver.9はver.8でcompile、と
考えていくとver.1はどうやってつくったんでしょうか?他の会社なりのhogeのcompiler(例えばhogecc-5とか)がその時あれば
ちょっと借りてきて1回目だけそれを使えばいいんですが、それでは
hogecc-1のsourceはどうやってcompileしたんでしょう?
最初は誰かえらい人がアセンブラで書いてくれた.位しか
思いつかないのですが...
こんなの常識なんでしょうか?
225春日三球
NGNG 今夜も寝られなくなっちゃったじゃねえかゴルァ!
NGNG
>224
最初はIPLをトグルスイッチぱちぱちやって入力した。
最初はIPLをトグルスイッチぱちぱちやって入力した。
227名無しさん@お腹いっぱい。
NGNG トグルスイッチといえば、
コンパイラではなくOSだがCray社を作ったシーモアクレイは
OSをトグルスイッチでパチパチパッチンと入れて
それがいきなり動いたっていう.本当か?
http://cruel.org/freeware/hdomcorrect.html
GCCと関係ないけど.
コンパイラではなくOSだがCray社を作ったシーモアクレイは
OSをトグルスイッチでパチパチパッチンと入れて
それがいきなり動いたっていう.本当か?
http://cruel.org/freeware/hdomcorrect.html
GCCと関係ないけど.
NGNG
何でみんな新しいもの追っかけるの?
昔は新しいモノを追っかけてたんだけど、安定してるはずのgcc2.95.2で
glibcをmakeしたら腐ったコード吐いたことがあったので、新しいのは怖くて使えないよ。
結局、egcs2.91.66が一番安心できる。
昔は新しいモノを追っかけてたんだけど、安定してるはずのgcc2.95.2で
glibcをmakeしたら腐ったコード吐いたことがあったので、新しいのは怖くて使えないよ。
結局、egcs2.91.66が一番安心できる。
229名無しさん@Emacs
NGNGNGNG
>>228
新しいもののほうがナイスな最適化するかもーとか、
C++ の標準準拠っぷりとか、
gcc のパッチを作ってるので仕方なくーとか。
必要ないんなら古いのでいいと思いますよ、ええ。
FreeBSD と NetBSD は gcc-3.x に移行する予定みたいですね。
新しいもののほうがナイスな最適化するかもーとか、
C++ の標準準拠っぷりとか、
gcc のパッチを作ってるので仕方なくーとか。
必要ないんなら古いのでいいと思いますよ、ええ。
FreeBSD と NetBSD は gcc-3.x に移行する予定みたいですね。
231名無しさん@お腹いっぱい。
NGNGNGNG
>>231
バグって不平をいうやつはそこまでのレベル。
バグって不平をいうやつはそこまでのレベル。
233名無しさん@お腹いっぱい。
NGNG おれbug見つけたら小躍りしながらレポート書いちゃうけどな(・∀・)
NGNG
NGNG
>>234
templateで遊んでたらいくらでもinternal compiler error出るぞ
templateで遊んでたらいくらでもinternal compiler error出るぞ
NGNG
>>235
internal compiler errorとか出たらどうやって追いかけてるの?
internal compiler errorとか出たらどうやって追いかけてるの?
237名無しさん@お腹いっぱい。
NGNG >>235
例えばどんなソースだとエラーがでる?
例えばどんなソースだとエラーがでる?
238名無しさん@お腹いっぱい
NGNGNGNG
gccのソースも読めないやしは半人前。
と言われつづけてはや10年
と言われつづけてはや10年
240名無しさん@お腹いっぱい。
NGNG 10年前の gcc-1.42 がファイル数 281、展開後のサイズ7.7Mだったのが、
gcc-3.2 ではファイル数 14375、サイズ161MB に肥大しているから、
せっかくの10年前にgccのソースを読む機会を逸した奴はもう一生読めないに違いない。
gcc-3.2 ではファイル数 14375、サイズ161MB に肥大しているから、
せっかくの10年前にgccのソースを読む機会を逸した奴はもう一生読めないに違いない。
241あぼーん
NGNGあぼーん
242あぼーん
NGNGあぼーん
NGNG
>>240 10年前のソースを読めば解決?w
NGNG
今のgccぐらいの規模なら理解できるだろ。
世の中もっと大きなソフトウェアは幾らでもある。
世の中もっと大きなソフトウェアは幾らでもある。
245名無しさん@お腹いっぱい。
NGNG ここにはgccを理解してる人がいるみたいなので質問させてください。
1. rtl.defやrtl.h,rtl.c
2. *.md
3. -drオプションを指定されたときに吐き出されるファイル
これら三つの関係がいまいちよくわかりません。
簡単でいいのでこれらの関係を教えて下さい。
1. rtl.defやrtl.h,rtl.c
2. *.md
3. -drオプションを指定されたときに吐き出されるファイル
これら三つの関係がいまいちよくわかりません。
簡単でいいのでこれらの関係を教えて下さい。
NGNG
NGNG
>>246
それはよく読んだのですが、分からないからここで質問しました
それはよく読んだのですが、分からないからここで質問しました
248あぼーん
NGNGあぼーん
NGNG
>>247
えー その info に十分な情報があると思うけどなあ。
1. RTL を操作するためのユーティリティ関数と、RTL の共通定義
3. コンパイル対象のソースが RTL に変換された直後の RTL の様子
2. insn-flags.h とか insn-codes.h とか insn-output.c とか
insn-attrtab.c とか、とにかくマシン依存のコンパイラソースを
生成するためのソース
えー その info に十分な情報があると思うけどなあ。
1. RTL を操作するためのユーティリティ関数と、RTL の共通定義
3. コンパイル対象のソースが RTL に変換された直後の RTL の様子
2. insn-flags.h とか insn-codes.h とか insn-output.c とか
insn-attrtab.c とか、とにかくマシン依存のコンパイラソースを
生成するためのソース
NGNG
NGNG
俺は組込み系やってるのでコンパイラが吐き出したコードを読む機会が多いんだけど、
最適化されるはずなのにうまくされてないような所ってのも、正しく動くけどbugのうちとみなしてレポートしてる
たいていは数日以内にpatch送ってもらえたりするんで、いつでもmakeできるように
gccのソースツリーは展開したまま置いてある。
間違ったコード吐いたりされる場合はさすがにpatch送ってもらうのを待ってるわけにいかんので
レポートするのと同時に自分で治すこともあるけど、簡単に治せるようなものなら良いが
ちょっとややこしくなるともう手に負えん(;´Д`)
最適化されるはずなのにうまくされてないような所ってのも、正しく動くけどbugのうちとみなしてレポートしてる
たいていは数日以内にpatch送ってもらえたりするんで、いつでもmakeできるように
gccのソースツリーは展開したまま置いてある。
間違ったコード吐いたりされる場合はさすがにpatch送ってもらうのを待ってるわけにいかんので
レポートするのと同時に自分で治すこともあるけど、簡単に治せるようなものなら良いが
ちょっとややこしくなるともう手に負えん(;´Д`)
252名無しさん@お腹いっぱい。
NGNG 今gcc-3.2コンパイルしてます。
dejagnuのチェックでFAILが出まくってるんだけど、コンパイル失敗ですか?
一応継続してるんですが。
dejagnuのチェックでFAILが出まくってるんだけど、コンパイル失敗ですか?
一応継続してるんですが。
253名無しさん@お腹いっぱい。
NGNG gcc が Java のバイトコードも吐けるようになるのはいつの日か。
NGNG
>>253 gcj -C で吐くと思われ。
NGNG
Gentoo
NGNG
質問です。
某マシンでgcc使ってるんですけどnewが例外投げてくれません。
PCのgccでも昔は駄目だったんですけど、
3.0では直ってるんでしょうか?
某マシンでgcc使ってるんですけどnewが例外投げてくれません。
PCのgccでも昔は駄目だったんですけど、
3.0では直ってるんでしょうか?
NGNG
>>256
PCのgccを3.0にして試せばいいのでは?
PCのgccを3.0にして試せばいいのでは?
NGNG
NGNG
NGNG
>>224
最初は別の言語で書く。アセンブラまで後退する必要はない。
ちなみに昔はFortranやPL/1で書かれたC compilerがあった。
テメーのcompiler書いても、
gccがあるからgccで簡単にbootstrap、って状況の方が(昔からすれば)異常。
最初は別の言語で書く。アセンブラまで後退する必要はない。
ちなみに昔はFortranやPL/1で書かれたC compilerがあった。
テメーのcompiler書いても、
gccがあるからgccで簡単にbootstrap、って状況の方が(昔からすれば)異常。
261名無しさん@お腹いっぱい。
NGNG >>256
少なくともgcc 2.95では、mallocが本当に失敗すればbad_alloc
投げてくれるはず。(cp/new1.cc)
楽観的メモリ割り当てとかで、malloc自体が成功しているからでは?
少なくともgcc 2.95では、mallocが本当に失敗すればbad_alloc
投げてくれるはず。(cp/new1.cc)
楽観的メモリ割り当てとかで、malloc自体が成功しているからでは?
262名無しさん@XEmacs
NGNG intel 系っつーか PentiumPro 系のハナシですが、
gcc2.95 って妙に速いコード出すことがあるですね。
gcc3.2 や icc より速い。。。
gcc2.95 って妙に速いコード出すことがあるですね。
gcc3.2 や icc より速い。。。
263224
NGNG > 260さん
ありがとうございます.それはそうなのでしょうけど,
(最初にCを作った人は"Cで書いてコンパイルしたC Compiler"
がそれこそ世界になかったわけですから!)
その "FortranやPL/Iで書いたC Compiler"を作るための
"FortranやPL/IのCompiler"をやはり作らなければいけませんよね...
でも教えてばっかりでもなんだか悪いのでいろいろ調べてみます。
どう考えても最初は簡単な(機能が少ない)言語Aをアセンブリ言語で書き、
その言語Aを使ってもうちょっと高水準の(機能が多い)言語Bのコンパイラ
を書く.-> 以下同文 とやっていったのだとは思いますが.
ありがとうございます.それはそうなのでしょうけど,
(最初にCを作った人は"Cで書いてコンパイルしたC Compiler"
がそれこそ世界になかったわけですから!)
その "FortranやPL/Iで書いたC Compiler"を作るための
"FortranやPL/IのCompiler"をやはり作らなければいけませんよね...
でも教えてばっかりでもなんだか悪いのでいろいろ調べてみます。
どう考えても最初は簡単な(機能が少ない)言語Aをアセンブリ言語で書き、
その言語Aを使ってもうちょっと高水準の(機能が多い)言語Bのコンパイラ
を書く.-> 以下同文 とやっていったのだとは思いますが.
NGNG
つーか、別にアセンブラだけで(機械語だけでさえも)
Cコンパイラ作れるんですが。
Cコンパイラ作れるんですが。
265名無しさん@お腹いっぱい。
NGNG266いや、知らんけど
NGNG リッチーさんが最初にPDP-7上で書いたCコンパイラは、アセンブラだったのでは。
267あれ、Cの誕生は
NGNG PDP-11に移植してからだったか?
NGNG
NGNG
dmrセンセイはBでCを書いたんじゃないの?
NGNG
アセンブラの登場はFortranコンパイラよりも後のはず。
271名無しさん@Emacs
NGNG Unixの歴史とかの書籍を見ると
「コンパイラコンパイラ」
ってのがあったらしいが...
....一番最初はどうだったんだろう。
謎、謎。
「コンパイラコンパイラ」
ってのがあったらしいが...
....一番最初はどうだったんだろう。
謎、謎。
NGNG
yacc?
273名無しさん@Emacs
NGNG libungif コンパイルできねー
274名無しさん@Emacs
NGNG @ gcc-3.2
NGNG
>275
最初のCコンパイラはgccではないわけだが...
最初のCコンパイラはgccではないわけだが...
277名無しさん@お腹いっぱい。
NGNG g++ 3.2 で ostream_iterator が未定義だといわれるんだが。
% cat foo.cpp
#include <ostream>
#include <string>
int main()
{
std::ostream_iterator<std::string> *i;
}
% g++ -dumpversion
3.2
% g++ -c foo.cpp
foo.cpp: In function `int main()':
foo.cpp:5: `ostream_iterator' undeclared in namespace `std'
foo.cpp:5: parse error before `>' token
% cat foo.cpp
#include <ostream>
#include <string>
int main()
{
std::ostream_iterator<std::string> *i;
}
% g++ -dumpversion
3.2
% g++ -c foo.cpp
foo.cpp: In function `int main()':
foo.cpp:5: `ostream_iterator' undeclared in namespace `std'
foo.cpp:5: parse error before `>' token
NGNG
#include <iterator>
279277
NGNG サンクス。
標準では <iterator> なのか。やっぱり古い知識のままじゃいかんなぁ。
標準では <iterator> なのか。やっぱり古い知識のままじゃいかんなぁ。
280名無しさん@お腹いっぱい。
NGNG gcc をビルドしてできる libstdc++.so.5 とかは、どこにインストール
すべきものなんでしょうか。
configure --prefix=/usr/local/gcc-3.2 とかでビルドして make install
すると、/usr/local/gcc-3.2/lib/ の下にインストールされるのですが、
g++ 3.2 で作成した実行ファイルを起動すると、libstdc++.so.5 が
見つからない、と言われてしまいます。
すべきものなんでしょうか。
configure --prefix=/usr/local/gcc-3.2 とかでビルドして make install
すると、/usr/local/gcc-3.2/lib/ の下にインストールされるのですが、
g++ 3.2 で作成した実行ファイルを起動すると、libstdc++.so.5 が
見つからない、と言われてしまいます。
NGNG
OS は?
ldconfig とか、LOAD_LIBRARY_PATH とか?
ldconfig とか、LOAD_LIBRARY_PATH とか?
282あぼーん
NGNGあぼーん
NGNG
>280
リンク時に
g++ -Wl,-rpath -Wl,/usr/local/gcc-3.2/lib
と書いておけば? specs ファイルでも指定できるかもしれんが。
リンク時に
g++ -Wl,-rpath -Wl,/usr/local/gcc-3.2/lib
と書いておけば? specs ファイルでも指定できるかもしれんが。
284280
NGNGNGNG
ダイナミックリンクする場合の指定方法だよ
286280
NGNG libstdc++ の件は
# echo /usr/local/gcc-3.2/lib >> /etc/ld.so.conf
# ldconfig
で解決しました。
g++ 3.2 で別の問題なんですが、std::wstring を使おうとして、
#include <string>
int main() { std::wstring s; return 0; }
をコンパイルしたら、
/tmp/ccSgXbtC.o: In function `main':
/tmp/ccSgXbtC.o(.text+0x17): undefined reference to `std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string[in-charge]()'
/tmp/ccSgXbtC.o(.text+0x22): undefined reference to `std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_string [in-charge]()'
のようなリンクエラーが出ました。もともと普通にビルド&インストール
しただけでは wstring が使えないので、c++config.h で
#define _GLIBCPP_USE_WCHAR_T 1
として (無理やり?) 使っていたのですが、3.0.4 あたりではうまくいって
いたのに、3.2 では上のようなエラーが出るのです。
これは、3.2 の basic_string では、メンバ関数がインライン展開されずに
別モジュールとしてコンパイルされているんですかね。
# echo /usr/local/gcc-3.2/lib >> /etc/ld.so.conf
# ldconfig
で解決しました。
g++ 3.2 で別の問題なんですが、std::wstring を使おうとして、
#include <string>
int main() { std::wstring s; return 0; }
をコンパイルしたら、
/tmp/ccSgXbtC.o: In function `main':
/tmp/ccSgXbtC.o(.text+0x17): undefined reference to `std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string[in-charge]()'
/tmp/ccSgXbtC.o(.text+0x22): undefined reference to `std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_string [in-charge]()'
のようなリンクエラーが出ました。もともと普通にビルド&インストール
しただけでは wstring が使えないので、c++config.h で
#define _GLIBCPP_USE_WCHAR_T 1
として (無理やり?) 使っていたのですが、3.0.4 あたりではうまくいって
いたのに、3.2 では上のようなエラーが出るのです。
これは、3.2 の basic_string では、メンバ関数がインライン展開されずに
別モジュールとしてコンパイルされているんですかね。
287280
NGNG なんと、basic_string クラスのインスタンス自体が外部宣言されていました。
gcc-3.2/include/c++/3.2/bits/basic_string.tcc:
extern template class basic_string<wchar_t>;
gcc じゃ、こんな書き方ができるのか。
で、ビルド時には _GLIBCPP_USE_WCHAR_T が undef になっていたので、
ライブラリには、wstring の実体が作られていないのでしょう。自前で
template class std::wstring;
とやってやれば、うまいことリンクできました。
ところで、ビルド時から _GLIBCPP_USE_WCHAR_T を有効にするには
どうすればいいんでしょう。
gcc-3.2/include/c++/3.2/bits/basic_string.tcc:
extern template class basic_string<wchar_t>;
gcc じゃ、こんな書き方ができるのか。
で、ビルド時には _GLIBCPP_USE_WCHAR_T が undef になっていたので、
ライブラリには、wstring の実体が作られていないのでしょう。自前で
template class std::wstring;
とやってやれば、うまいことリンクできました。
ところで、ビルド時から _GLIBCPP_USE_WCHAR_T を有効にするには
どうすればいいんでしょう。
288280
NGNG 結局、システムに入っていた glibc が古くて wchar_t 関係の
関数がそろっていなかったのが原因のようですね。現在、
glibc-2.2.5 をビルド中。
関数がそろっていなかったのが原因のようですね。現在、
glibc-2.2.5 をビルド中。
289名無しさん@お腹いっぱい。
NGNG g++3で書いた中身C++、インターフェースCなライブラリを、g++2
から利用する(またはその逆)ための、良い方法は無いでしょうか?
普通にやろうとすると__dynamic_castなどが衝突するので、
リンカ側で色々工夫をする必要があるようなのです。
FreeBSDで、-symbolicなどを駆使して、一応例外などを
動かすことはできましたが、とてもポータブルとは思えない
ので、もっと正しい方法があれば教えてください。
から利用する(またはその逆)ための、良い方法は無いでしょうか?
普通にやろうとすると__dynamic_castなどが衝突するので、
リンカ側で色々工夫をする必要があるようなのです。
FreeBSDで、-symbolicなどを駆使して、一応例外などを
動かすことはできましたが、とてもポータブルとは思えない
ので、もっと正しい方法があれば教えてください。
290名無しさん@お腹いっぱい。
NGNG 64bit Solaris 8でgcc 3.2をコンパイルできた人いますか?
Companion CDで入る/opt/sfw/bin/gcc (2.95.3)を使って
やっているのですが(make checkの)エラーが消えません。
$ /usr/local/bin/tar xvfz gcc-3.2.tar.gz
$ cd gcc-3.2; mkdir objdir; cd objdir
$ echo $PATH
/opt/sfw/bin /usr/bin /bin /usr/ccs/bin /usr/local/bin
$ ../configure --enable-languages=c,c++ --with-as=/usr/ccs/bin/as
--with-ld=/usr/ccs/bin/ld --disable-nls
$ /usr/local/bin/make bootstrap (Errorは出ません。)
$ echo $TCL_LIBRARY
/usr/local/lib/tcl8.4
$ echo $DEJAGNULIBS
/usr/local/share/dejagnu
$ /usr/local/bin/make -k check | tee check.log
で,check.logからサマリ部分だけ抜き出すと、
Companion CDで入る/opt/sfw/bin/gcc (2.95.3)を使って
やっているのですが(make checkの)エラーが消えません。
$ /usr/local/bin/tar xvfz gcc-3.2.tar.gz
$ cd gcc-3.2; mkdir objdir; cd objdir
$ echo $PATH
/opt/sfw/bin /usr/bin /bin /usr/ccs/bin /usr/local/bin
$ ../configure --enable-languages=c,c++ --with-as=/usr/ccs/bin/as
--with-ld=/usr/ccs/bin/ld --disable-nls
$ /usr/local/bin/make bootstrap (Errorは出ません。)
$ echo $TCL_LIBRARY
/usr/local/lib/tcl8.4
$ echo $DEJAGNULIBS
/usr/local/share/dejagnu
$ /usr/local/bin/make -k check | tee check.log
で,check.logからサマリ部分だけ抜き出すと、
291名無しさん@お腹いっぱい。
NGNG === libstdc++-v3 Summary ===
# of expected passes 407
# of unexpected failures 2
# of unexpected successes 10
# of expected failures 16
=== gcc Summary ===
# of expected passes 18688
# of expected failures 66
# of unsupported tests 111
=== g++ Summary ===
# of expected passes 7248
# of unexpected failures 3
# of expected failures 88
# of untested testcases 21
# of unsupported tests 4
bootstrapまでは通っているけどtestsuiteのC++関連の
unexpected failuresがあるのが不安です。
http://gcc.gnu.org/gcc-3.2/buildstat.htmlを見ると
(Test resultsでエラーがある人もいるけど)Successfulの
人もそれ以上に結構いて、なんで私のだけエラーが出るのかと...
# of expected passes 407
# of unexpected failures 2
# of unexpected successes 10
# of expected failures 16
=== gcc Summary ===
# of expected passes 18688
# of expected failures 66
# of unsupported tests 111
=== g++ Summary ===
# of expected passes 7248
# of unexpected failures 3
# of expected failures 88
# of untested testcases 21
# of unsupported tests 4
bootstrapまでは通っているけどtestsuiteのC++関連の
unexpected failuresがあるのが不安です。
http://gcc.gnu.org/gcc-3.2/buildstat.htmlを見ると
(Test resultsでエラーがある人もいるけど)Successfulの
人もそれ以上に結構いて、なんで私のだけエラーが出るのかと...
292名無しさん@お腹いっぱい。
NGNG $ cd gcc/
$ for file in *.o ; do cmp $file stage2/$file; done
でのstage2とstage3の比較はOKのようなのですが...
そもそもtestsuiteでunexpexted failuresが0になるものでしょうか。
gccをsourceからbuildするのは初めてなのでよく作法/流儀が...
Package版があるようなのでそっちを入れた方がいいんでしょうか。
$ for file in *.o ; do cmp $file stage2/$file; done
でのstage2とstage3の比較はOKのようなのですが...
そもそもtestsuiteでunexpexted failuresが0になるものでしょうか。
gccをsourceからbuildするのは初めてなのでよく作法/流儀が...
Package版があるようなのでそっちを入れた方がいいんでしょうか。
NGNG
gcc3.xをメインに使わないやしは氏ね
294名無しさん@お腹いっぱい。
NGNG gcc 3.2.1
http://gcc.gnu.org/gcc-3.2/changes.html
http://gcc.gnu.org/gcc-3.2/changes.html
NGNG
gcc-3.2でperl-5.6.1がmake出来ない(´・ω・`) ショボーン
NGNG
>>295
もしよければ詳細キボンヌ
gcc-3.2は最適化でバグがあるらしいね…「-fno-strength-reduce」を追加して対処
した方がいいらしい(Vim-6.1のパッチ260より)
gcc-3.2.1ではfixされているのかな?
もしよければ詳細キボンヌ
gcc-3.2は最適化でバグがあるらしいね…「-fno-strength-reduce」を追加して対処
した方がいいらしい(Vim-6.1のパッチ260より)
gcc-3.2.1ではfixされているのかな?
297295
NGNG これと同じ ttp://archive.develooper.com/perl5-porters@perl.org/msg84835.html
パッチあったんで助かったYo!
パッチあったんで助かったYo!
NGNG
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… [BFU★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で [ぐれ★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」 [ぐれ★]
- 「稼ぐのよ!」高市総理が電話ガチャ切りで伝えたこと 鈴木憲和農林水産大臣が国政報告会に出席 自身が目指す農政の方針語る [煮卵★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- 俳優 高岡蒼佑「エジプト出身とかナイジェリア出身とかの人が、日本の代表顔して移民の事とか話してるの見るとなんか違う気がする」★2 [Anonymous★]
- 【高市悲報】アメリカ戦争省「あのさ、何回シミュレートしてもわーくに中国に負けちゃうんだよね🤗」 [359965264]
- 自民「高市の一言でこれまで積み上げてきた関係が駄目になる。言葉の重みを分かっていない。自分でまいた種は自分で刈り取ってもらう」 [256556981]
- 中国国営放送「日本は琉球をただちに中国に返還せよ」 キタ━━━━(゚∀゚)━━━━!!!!! [314039747]
- 中国発日本行の航空券、491,000件(全体の32%)がキャンセルされたと判明。高市どうすんのこれ [603416639]
- 識者「『フリーパレスチナ』とかイキってる連中が台湾の話になると『中国を怒らせるな!』ってなる。ほんと左翼の正義って薄っぺらい」 [279254606]
- 日本株、大暴落!!! [252835186]
