元スレGCCについて part9
gcc覧 / PC版 /みんなの評価 : ○
551 = :
何か変なのが棲み付いてるな……
553 = :
>>552
とりあえずおまえはコテつけろ、(´・ω・)をあぼーんすると他で支障が出るだろ
554 = :
>>553
貴様もコテつけろうぜえ
556 = :
>>553-555
スレの内容に関係ないから、ケンカするなら他所でやれ。
557 = :
>>556
スレの内容に関係ないレスすんな!どっか逝け基地害
558 = :
>>557
スレの内容に関係ないレスにレスすんな!どっか逝け基地害
560 = :
自己紹介も
561 = :
私です!!!!!
563 = :
おぉーい、誰かいます?
こちらへ誘導していただいたので来ました。
gcc(4.5.1)のc-parser.cだけを利用しようと思っています。
で、VC++でコンパイルしているんだけど、
gimple
という構造体の宣言、この構造体が未定義のようでエラーが出てます。
gccのフォルダ丸ごと検索してみたけど、自分の能力では見つからず。。。
例えば、
gimple stmt;
というステートメントでエラーが発生してます。
どうやりゃ解決できるんでしょうか?
おながいします。
やったこと:
VC++の新規プロジェクトに、パーサのコードおよび関連ヘッダを入れてコンパイル。
コンパイラにヘッダがないと言われれば、追加してあげる。
564 = :
gcc/gimple.h
gcc/vec.h
565 = :
gimple_statement_d
が本体みたいだけど
566 = :
>>564
>>565
ありがと。何とかなりました。
現在、bitmap.hにて、同様に今度は
bitmapという構造体(識別子)がないとのたまわれてます。
確かにないし。
どうすればこのエラーを解決できるんですか?
567 = :
そうやって芋づる式に足りないものを追加していくと
最終的にgcc全体を取り込む結果になったりして
568 = :
>>567
(w
いやさすがにそれはないなぁ
でも、やりたいことは、
Cからデータフローグラフを作る
なので、パーサをおさえた後が大変、
というのは自覚してまふ
#というかDFG生成のフリーウェアあったな
569 = :
564ですが…
>>566
GTY/gengtypeは理解したの?
gimple.hで出てきたでしょ。
doc/gty.texi, doc/gccint.texi読まないと、gccの改造なんて無理。
パーザ借りるだけだとしても。
>>568
それこそgimple使えば簡単なのに…
そのためにあるgimpleなんだけど…
572 = :
>>566
おまいはとりあえず、gccをビルドしたときのログを全部残しておいて、
関連するファイルをコンパイルしている行をコピペして-Eオプション追加して
走らせてみろ。何がどうインクルードされてマクロ展開されるか全部出てくる。
573 = :
>>563
なんでgccでコンパイルせずにVC使うの?それだけでかなり難易度上がってるとおもうが。
失礼なこと言うようだが、あなたには難しすぎることにように見えます。
>>572
そんな面倒なことしなくても、-save-tempsオプションつけてビルドすればいいんでない?
575 = :
UNIXのコンパイラってなんでアセンブラのソースを生成するの?
VCみたいに直接バイナリ吐いて必要になったらときに逆汗した方が速くない?
576 = :
gccの場合、アセンブラが中間言語になってます。
ニーモニックがUNIX形式。
ただし全てのコンパイラ@UNIXがこのスタイルなわけではありません。
ちなみに現代のコンパイラでアセンブラが消費する時間は些細なものです。
578 = :
gccだけでカンファレンスが開かれる状況です。
579 = :
>>575
VCが逆アセンブルするの? んな馬鹿な。
リスト出力オプションを指定したときにそんな胡乱なことをするとでも思っているのか?
582 = :
GCC はインラインアセンブラを使ってる箇所も最適化の対象にしてる。
そのままアセンブラに丸投げしているわけじゃない。
583 = :
中身の最適化はしてないでしょ。
引数に関しては最適化してるけど
584 = :
LLVMのコンパイラclangは直接 .o 吐けるようになったぞ。
ていうかとうとうbinutilsの置き換えにも走りだした。
スレチスマソ
586 = :
そもそもアセンブり言語っていらなくない?
人間が計算機と比べてバカだからしょうがなく作ったものなのに
GCCとbinutilsのインターフェイスになってるとかどうも違和感ある
588 = :
>>583
するよ。
589 = :
>>588
どんな書き方だとしますか?
591 = :
>>586
なくしてもいいことないしね。
594 = :
RCは触る気になれんとです
595 = :
gcc -E -dM hogehoge.c ってやるとマクロ定義が出てくるんだけど、
#define HOGE 1
#define PIYO HOGE+1
こんな感じで値は展開されてない。これを
#define HOGE 1
#define PIYO 1+1
こんな感じに展開してくれるオプションってないん?
596 = :
そんな処理はしていないんだから当然だ
597 = :
cpp通せばいいんじゃね
598 = :
>>596
あー、実際に使うときに展開するのか orz
>>597
ど、どうすれば
もしかして、gcc -E -dM で出てきた結果を実際に使ってもう一回プリプロセッサに通せばいいのか
#define HOGE 1
#define PIYO HOGE+1
HOGE;
PIYO;
↓ gcc -E
1;
1+1;
599 = :
展開された結果としてコンパイルされるんだから無問題だと思うんだが、
展開された結果のソースを欲しがる理由が想像できない。
600 = :
>>599
質問者じゃないけど俺は長ったらしいマクロを書いてコンパイル通らないときに重宝してる
BOOST_PPとか-Eないとデバッグ不能だotx
みんなの評価 : ○
類似してるかもしれないスレッド
- GCCについて part8 (763) - [95%] - 2009/3/11 8:47 ☆
- GCCについて part10 (538) - [90%] - 2018/7/5 20:30
- 【激遅】AppleGCC【絶望】 (111) - [18446744073709551607%] - 2010/1/15 10:31
トップメニューへ / →のくす牧場書庫について