[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 11/19 11:00 / Filesize : 247 KB / Number-of Response : 958
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Cygwin + MinGW + GCC 相談室 Part 4



298 名前:デフォルトの名無しさん [2009/04/03(金) 07:16:03 ]
質問です。PC-98のMS-DOS上でDJGPPとNASMとBorland C++ 3.1Jでプログラムを
組んでますが、たとえばHello, World!を作ってもDJGPP(GCC v4.3.2)では異常に
実行ファイルのサイズが肥大化します。動作もBCCでコンパイルしたものより
重いです。

DJGPPのFAQによると、「DJGPP(DOS版GCC)はメモリモデルにflatを用いており、
プロテクトモードで4GBまでのメモリを扱えるようにしています」とのことなんですが、
これが原因ですか?ちなみにHELLO.EXEを実行するにしても、DPMIサーバ(cwsdpmi.exe)が
必要という糞仕様です。開発マシンはPC-9801DA2(80386 20MHz + Cyrix 387コプロ;
RAM 13.6MB; SCSI HDD 4.3GB; 緑電子SCSI-2ボード; NEC版MS-DOS 6.2)です。

HELLO.EXEのファイルサイズとコンパイル時間は
BCC = 6.6KB ; コンパイル時間 = 5秒
DJGPP = 44KB ; コンパイル時間 = 2分近く
NASM = 22Bytes ; コンパイル時間 = 3秒
(コンパイルオプションは、
A:\>bcc -ms -O2 hello.c
A:\>gcc -Wall -O2 -s -fomit-frame-pointer -o hello.exe hello.c
A:\>nasm -fbin -o hello.com hello.asm
です)

異常な事態です。これはDJGPP(GCC)の仕様なんでしょうか!ご教示ください。
ちなみに同機能をDOSファンクションコールAH=09Hでフルアッセンブル実装した
HELLO.COMはわずか22バイトですOrz K6-2 550MHz/64MB/18GBのX-Mateがあるんですが、
それでやっても処理系の差異は変わらないですよね?






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

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<247KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef