home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2001 May / VPR0105A.BIN / OLS / BR98211 / br98211.lzh / BRPROG.TXT < prev    next >
Text File  |  2001-02-06  |  6KB  |  181 lines

  1. 9801+DOS用 Webブラウザ
  2. ____________________________________________________________________________
  3. Browser Returns for 9801 Ver2.11
  4. プログラム説明書
  5.  
  6. (先に総合説明書BR98211.TXTをお読みください)
  7. ____________________________________________________________________________
  8. 0.はじめに
  9.  
  10.  この説明書はC/C++言語プログラムを行う方を対象にしています。
  11. ソフトを使うだけなら不要な内容です。
  12. プログラムの技術力のある方が、同様のソフトを作るときの参考にしてください。
  13.  
  14.  内容を流用して何か作った場合は、このソフトの著作権項目を参照して
  15. それに従うようにしてください。
  16.  また、Copyright表示の削除は禁止します。
  17. 自分が何か変更を加えた場合などは、追加によって対処してください。
  18.  
  19. ____________________________________________________________________________
  20. 1.開発環境
  21.  
  22.  現在、ボーランドから「Borland C++ Suite」が発売されています。
  23. 詳細はhttp://www.borland.co.jpを参照してください。
  24. 店頭販売は行われていません。
  25.  
  26.  その中に、Turbo C++ Ver4 for DOSや、Turbo Assemblerが含まれています。
  27. Turbo AssemblerはWATTCPライブラリを利用するときに必要となります。
  28. 他はTurbo C++のみが必要となります。
  29.  
  30. ____________________________________________________________________________
  31. 2.各ライブラリのバージョン・ディレクトリ配置
  32.  
  33.  現在はそれぞれ、以下のバージョンを利用しています。
  34. libpng Ver1.0.5
  35. zlib Ver1.1.3
  36. jpeglib Ver6c
  37.  
  38.  これらのライブラリはソースコードで提供されますので、
  39. 各自コンパイルしてライブラリにする必要があります。
  40.  その際、開発環境に合ったmakefileの選択・修正が必要です。
  41.  
  42.  また、圧縮形式はUNIXに多い.tar.gz(または.tgz)ですので、
  43. Windows環境で解凍しておくとよいでしょう。
  44.  
  45.  ディレクトリは以下のようにしておきます。
  46. \prog プログラム関係
  47. \prog\zlib
  48. \prog\libpng
  49. \prog\jpeglib
  50. \prog\br98
  51. \tc4 TurboC++
  52. \tasm TurboAssembler
  53.  
  54. ____________________________________________________________________________
  55. 3.zlib
  56.  
  57.  libpngを使う場合に必要になります。
  58. libpngでは..\zlib\にzlib.libがあることを前提としてmakefileが作られているので
  59. zlibとlibpngがそのような関係になるようにディレクトリを決めます。
  60.  
  61. >ren makefile makefile._
  62. >copy msdos\makefile.tc makefile
  63. としておいて、makefileの
  64. 「CFLAGS=-O2 -G -Z -m$(MODEL)
  65.  CC=tcc -I\tc\include
  66.  LD=tcc -L\tc\lib
  67.  AR=tlib」
  68. から、
  69. 「CFLAGS=-O -G -Z -m$(MODEL)
  70.  CC=tcc -I\tc4\include
  71.  LD=tcc -L\tc4\lib
  72.  AR=tlib」
  73. と変更します。Borland C++とTurbo C++で最適化オプションが違うため、
  74. またTurbo C++の入っている場所も違うため、ここで吸収する必要があります。
  75.  
  76.  そうして
  77. >make
  78. すれば、zlib_l.libが作られます。このファイルの名前はzlib.libに
  79. 変更してください。
  80.  
  81. ____________________________________________________________________________
  82. 4.libpng
  83.  
  84.  zlibと同様に
  85. >copy scripts\makefile.tur makefile
  86. として、makefileの
  87. 「CFLAGS=-O2 -Z $(MODEL) -I..\zlib」
  88. 「CFLAGS=-O -G -Z $(MODEL) -I..\zlib」
  89. とすれば、
  90. >make
  91. でlibpng.libとpngtest.exeができあがります。
  92. pngtest.exeを実行してエラーがなければ完成です。
  93.  
  94.  プログラムにライブラリを組み込むには、それぞれのライブラリに含まれている
  95. ヘッダファイルを全て開発プログラムと同じディレクトリに入れて、
  96. #include "png.h"
  97. とソースファイルに書き、libpng.libとzlib.libの両方をリンクする必要が
  98. あります。もちろん、メモリモデルはライブラリと同じものがよいでしょうが、
  99. これまでの作業を行った場合は全てラージモデルになっているはずです。
  100.  
  101. ____________________________________________________________________________
  102. 5.jpeglib
  103.  
  104.  やることはpnglibと同じようなものですが、こちらはzlibのようなものが
  105. ないので楽かもしれません。
  106.  
  107.  ここでは、バージョン6bとか6cとなっているものを使っています。
  108.  
  109.  こちらは、makefileの他にjconfig.hも選ぶ必要がありますので、
  110. >copy makefile.bcc makefile
  111. >copy jconfig.bcc jconfig.h
  112. とします。
  113.  
  114.  ライブラリ作成にはMASM互換アセンブラが必要ですが、TurboC++には
  115. Turbo Assemblerが付属していませんので、持っていない場合は
  116. vector.co.jpにあるArrowAssemblerを使います。
  117. >asm /mx jmemdosa
  118. こうすれば、makeの時にアセンブル済と判断され、持ってもいないTASMを
  119. 呼び出したりしません。もちろん、持っているならそのまま使えます。
  120.  
  121.  次にmakefileを修正します。
  122. 「# The name of your C compiler:
  123.  CC= bcc」
  124. を、
  125. 「# The name of your C compiler:
  126.  CC= tcc」
  127. に、
  128. 「# You may need to adjust these cc options:
  129.  !if $d(DOS)
  130.  CFLAGS= -O2 -mm -w-par -w-stu -w-ccc -w-rch」
  131. を、
  132. 「# You may need to adjust these cc options:
  133.  !if $d(DOS)
  134.  CFLAGS= -O -G -Z -mm -w-par -w-stu -w-ccc -w-rch」
  135. にします。
  136.  
  137.  あとは
  138. >make
  139. でライブラリとサンプルプログラムができあがります。例えば
  140. >djpeg -bmp sample.jpg sample.bmp
  141. で、JPEG→BMP変換ができます。
  142.  
  143.  プログラムに組み込むときは、ヘッダファイルを全て開発プログラムの
  144. ディレクトリに送って、.cppファイルなどから
  145. extern "C" {
  146. #include "jpeglib.h"
  147. }
  148. とします(.cの場合は#includeの行のみ)。そして、libjpeg.libをリンクします。
  149.  メモリモデルは、makefileに書いてあるようにミディアムですので、
  150. プログラムもミディアムで作ればいいでしょう。
  151.  
  152. ____________________________________________________________________________
  153. 6.Browser Returnsと画像ローダ
  154.  
  155.  メモリモデルや使用ライブラリなどがばらばらですので、以下のように
  156. コンパイラにかけます。
  157.  利用している指定は、
  158. -1- 8086命令のみ使い、186/286命令などは使わない
  159. -mm ミディアムモデル
  160. -ml ラージモデル
  161.  
  162. BR98.CPP
  163.  tcc -mm -1- br98
  164. JPG6CDB.CPP
  165.  tcc -mm -1- jpg6cdb libjpeg.lib
  166. PNGCDB.CPP
  167.  tcc -ml -1- pngcdb.cpp libpng.lib zlib.lib
  168.  
  169. ____________________________________________________________________________
  170. 7.最後に
  171.  
  172.  これらのライブラリは、もちろんWindows環境でも利用できます。
  173. 私もWindows用「axel」でlibpngを使い、PNGをBMPと同じように
  174. 利用できるようにしています。
  175.  今後の画像の主流はJPEGとPNGでしょうから、これらに対応しておくのは
  176. DOS・Windowsを問わず欠かせなくなってくるでしょう。
  177.  
  178. ____________________________________________________________________________
  179. 終                                                                 AsakaSoft
  180.