良質なオブジェクトコードを吐く処理系ランキング
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG各言語毎に色々な処理系がありますが、いったいどれが一番優れたオブジェクトコードを生成するのでしょうか。
0002奥さん、名無しです
NGNG0003デフォルトの名無しさん
NGNGVisual C 6.0SP4
Inprise(Borland) C Builder 5.0
Inprise(Borland) C 5.0 (Free公開版)
gcc-2.95.2
lccWin32
など。
0004デフォルトの名無しさん
NGNGアセンブラは最適化しないので除外してください。
0005デフォルトの名無しさん
NGNGVisual assembler
ttp://visualasm.cjb.net/
0006デフォルトの名無しさん
NGNG結局VCやBCCとかgccって、どれが良いの?
00075デフォルトの名無しさん
NGNG除外できない事がわかりましたか?
後、LINK先にもmasm32以外にもいろんな言語で使えるツールが
あっておもしろいですよ。一度おためしくださいです。
0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG0010名無しさんi486
NGNG0011デフォルトの名無しさん
NGNG0012名無しさん@お腹いっぱい。
NGNGMS、ボーランド以外の製品(Watcomとか)はちゃんと商売になっているのか
余計な心配をしてしまう。
CodeWarriorはコンシューマー用ゲーム開発者向けかな・・
0013デフォルトの名無しさん
NGNGWatcomはOpenSourceになっちゃいました
0014デフォルトの名無しさん
NGNG0015DOSの頃は
NGNGコンパイル速度のTURBO-C
といわれていたが、今は?
でも、>>11のいうように、優れたコードの定義がないとな。
大きくは、
実行速度が高速
オブジェクトサイズが小さい
の2つだと思うが。
0016私の記憶が確かならば
NGNGgcc(20KB台前半) < VC++(20KB台中間) << BCC(40KB台後半) でした。
もう少し複雑なプログラムでもやはりBCCはワーストだったはず。
0017>16
NGNG0018デフォルトの名無しさん
NGNG>除外できない事がわかりましたか?
このサイトがアセンブラの最適化と関係があるのですか?
今覗いていますが。
できれば簡単な解説をお願いします。
>15@`11
では実行速度でお願いします。
0019名無しさん@お腹いっぱい。
NGNGレジスタ宣言が不要なくらい可能な限り変数をレジスタにふってくれる
0020>19
NGNGa = 1 + a + 2
すら最適化してくれなかったような...
0021デフォルトの名無しさん
NGNGLSICはこの辺の独自指向の最適化のせいで、他のDOSコンパイラと呼出し形式が違うから、他のコンパイラで作ったオブジェクトをそのままリンクできないっていう制限がある。
0022デフォルトの名無しさん
NGNGまあ違うのは呼出し形式だけなので、もし対応してなくてもそこだけ書き直せば良いんだけど。
それがLSICの唯一の不満。
0023名無しさん@お腹いっぱい。
NGNGLSICでCを覚えましたなつかしいっす
昔はフリーの(ほんとはフリーじゃないけどさ)DOS
で動くコンパイラってこれしか知らなかった
俺はこいつがなかったら今ごろもっと惨めな暮らし
をしてると思う
ヒッキーだったし就職できたのはLSICのおかげ
って思ってます
0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNGstatic link/daynamic link分けないとちゃんとした比較にはならんぞ。
0026デフォルトの名無しさん
NGNG0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNG002926
NGNG0030名無しさん@お腹いっぱい。
NGNGLSI C と現在の他のコンパイラをちゃんと比較して言ってるの?
10年前ならいざ知らず、今じゃ特に評価に値するコンパイラじゃないとおもうけど。
0031名無しさん@お腹いっぱい。
NGNG>レジスタ宣言が不要なくらい可能な限り変数をレジスタにふってくれる
LSI-C って register 宣言は auto と同じ扱いだから全く不要。
0032デフォルトの名無しさん
NGNGでもねぇ 80x86自体が、Cとは相性良く無いからなぁ〜。
0033デフォルトの名無しさん
NGNG0034名前ついてますか?
NGNG0035デフォルトの名無しさん
NGNG8080じゃなかったっけ?>LSI-C80
でも、integerの定数を関数に渡すときに、大きさによって
Aレジスタで渡したりHLレジスタで渡したりするので、はまった覚えがある
void mokeke(int uhihi);
とかの関数に、mokeke(1)とか書くと、関数側はHLで受けるのに
呼び出し側はAレジスタにいれて呼び出すの
mokeke((int)1)とかで呼ぶ必要があった
もしかして常識だったらすげーはずかしー>漏れ
0036デフォルトの名無しさん
NGNG0037デフォルトの名無しさん
NGNGプロトタイプ宣言してないんじゃないの?
0038デフォルトの名無しさん
NGNG003935
NGNGうーん、もしかしたらそうだったかも
後方参照(?)だから、わざわざ書かなくていいと思ってた気がする
昔の話しすぎてよく思い出せません、ごめんなさい
■ このスレッドは過去ログ倉庫に格納されています