home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 2001 May
/
VPR0105A.BIN
/
OLS
/
BR98211
/
br98211.lzh
/
BRPROG.TXT
< prev
next >
Wrap
Text File
|
2001-02-06
|
6KB
|
181 lines
9801+DOS用 Webブラウザ
____________________________________________________________________________
Browser Returns for 9801 Ver2.11
プログラム説明書
(先に総合説明書BR98211.TXTをお読みください)
____________________________________________________________________________
0.はじめに
この説明書はC/C++言語プログラムを行う方を対象にしています。
ソフトを使うだけなら不要な内容です。
プログラムの技術力のある方が、同様のソフトを作るときの参考にしてください。
内容を流用して何か作った場合は、このソフトの著作権項目を参照して
それに従うようにしてください。
また、Copyright表示の削除は禁止します。
自分が何か変更を加えた場合などは、追加によって対処してください。
____________________________________________________________________________
1.開発環境
現在、ボーランドから「Borland C++ Suite」が発売されています。
詳細はhttp://www.borland.co.jpを参照してください。
店頭販売は行われていません。
その中に、Turbo C++ Ver4 for DOSや、Turbo Assemblerが含まれています。
Turbo AssemblerはWATTCPライブラリを利用するときに必要となります。
他はTurbo C++のみが必要となります。
____________________________________________________________________________
2.各ライブラリのバージョン・ディレクトリ配置
現在はそれぞれ、以下のバージョンを利用しています。
libpng Ver1.0.5
zlib Ver1.1.3
jpeglib Ver6c
これらのライブラリはソースコードで提供されますので、
各自コンパイルしてライブラリにする必要があります。
その際、開発環境に合ったmakefileの選択・修正が必要です。
また、圧縮形式はUNIXに多い.tar.gz(または.tgz)ですので、
Windows環境で解凍しておくとよいでしょう。
ディレクトリは以下のようにしておきます。
\prog プログラム関係
\prog\zlib
\prog\libpng
\prog\jpeglib
\prog\br98
\tc4 TurboC++
\tasm TurboAssembler
____________________________________________________________________________
3.zlib
libpngを使う場合に必要になります。
libpngでは..\zlib\にzlib.libがあることを前提としてmakefileが作られているので
zlibとlibpngがそのような関係になるようにディレクトリを決めます。
>ren makefile makefile._
>copy msdos\makefile.tc makefile
としておいて、makefileの
「CFLAGS=-O2 -G -Z -m$(MODEL)
CC=tcc -I\tc\include
LD=tcc -L\tc\lib
AR=tlib」
から、
「CFLAGS=-O -G -Z -m$(MODEL)
CC=tcc -I\tc4\include
LD=tcc -L\tc4\lib
AR=tlib」
と変更します。Borland C++とTurbo C++で最適化オプションが違うため、
またTurbo C++の入っている場所も違うため、ここで吸収する必要があります。
そうして
>make
すれば、zlib_l.libが作られます。このファイルの名前はzlib.libに
変更してください。
____________________________________________________________________________
4.libpng
zlibと同様に
>copy scripts\makefile.tur makefile
として、makefileの
「CFLAGS=-O2 -Z $(MODEL) -I..\zlib」
を
「CFLAGS=-O -G -Z $(MODEL) -I..\zlib」
とすれば、
>make
でlibpng.libとpngtest.exeができあがります。
pngtest.exeを実行してエラーがなければ完成です。
プログラムにライブラリを組み込むには、それぞれのライブラリに含まれている
ヘッダファイルを全て開発プログラムと同じディレクトリに入れて、
#include "png.h"
とソースファイルに書き、libpng.libとzlib.libの両方をリンクする必要が
あります。もちろん、メモリモデルはライブラリと同じものがよいでしょうが、
これまでの作業を行った場合は全てラージモデルになっているはずです。
____________________________________________________________________________
5.jpeglib
やることはpnglibと同じようなものですが、こちらはzlibのようなものが
ないので楽かもしれません。
ここでは、バージョン6bとか6cとなっているものを使っています。
こちらは、makefileの他にjconfig.hも選ぶ必要がありますので、
>copy makefile.bcc makefile
>copy jconfig.bcc jconfig.h
とします。
ライブラリ作成にはMASM互換アセンブラが必要ですが、TurboC++には
Turbo Assemblerが付属していませんので、持っていない場合は
vector.co.jpにあるArrowAssemblerを使います。
>asm /mx jmemdosa
こうすれば、makeの時にアセンブル済と判断され、持ってもいないTASMを
呼び出したりしません。もちろん、持っているならそのまま使えます。
次にmakefileを修正します。
「# The name of your C compiler:
CC= bcc」
を、
「# The name of your C compiler:
CC= tcc」
に、
「# You may need to adjust these cc options:
!if $d(DOS)
CFLAGS= -O2 -mm -w-par -w-stu -w-ccc -w-rch」
を、
「# You may need to adjust these cc options:
!if $d(DOS)
CFLAGS= -O -G -Z -mm -w-par -w-stu -w-ccc -w-rch」
にします。
あとは
>make
でライブラリとサンプルプログラムができあがります。例えば
>djpeg -bmp sample.jpg sample.bmp
で、JPEG→BMP変換ができます。
プログラムに組み込むときは、ヘッダファイルを全て開発プログラムの
ディレクトリに送って、.cppファイルなどから
extern "C" {
#include "jpeglib.h"
}
とします(.cの場合は#includeの行のみ)。そして、libjpeg.libをリンクします。
メモリモデルは、makefileに書いてあるようにミディアムですので、
プログラムもミディアムで作ればいいでしょう。
____________________________________________________________________________
6.Browser Returnsと画像ローダ
メモリモデルや使用ライブラリなどがばらばらですので、以下のように
コンパイラにかけます。
利用している指定は、
-1- 8086命令のみ使い、186/286命令などは使わない
-mm ミディアムモデル
-ml ラージモデル
BR98.CPP
tcc -mm -1- br98
JPG6CDB.CPP
tcc -mm -1- jpg6cdb libjpeg.lib
PNGCDB.CPP
tcc -ml -1- pngcdb.cpp libpng.lib zlib.lib
____________________________________________________________________________
7.最後に
これらのライブラリは、もちろんWindows環境でも利用できます。
私もWindows用「axel」でlibpngを使い、PNGをBMPと同じように
利用できるようにしています。
今後の画像の主流はJPEGとPNGでしょうから、これらに対応しておくのは
DOS・Windowsを問わず欠かせなくなってくるでしょう。
____________________________________________________________________________
終 AsakaSoft