-

Difference between revisions of "Packages"

From HI-TECH C for CP/M Fan WIKI(EN)
Jump to: navigation, search
(Manual:C.COM)
(Tags: Mobile edit, Mobile web edit)
 
(6 intermediate revisions by the same user not shown)
Line 10: Line 10:
 
HI-TECH C consists of 2 packages below
 
HI-TECH C consists of 2 packages below
  
;Z80V309
+
;<div id="Execution">Z80V309</div>
  
:実行ファイルと関連ツールの実行ファイル、基本的なヘッダファイル、ライブラリのバイナリファイルがあります。配布サイトによりLZH、MS-DOSの自己解凍exeファイルなど、アーカイブ形式に若干の違いがありますが、内容は同じです。以下「実行アーカイブ」と呼びます。
+
:This package (hereinafter "Execution archive") have C compiler and execute files, related utilities, basic header  files and libraries. This package is provided in some different formats like .lzh or self-executed .exe file,but contents are same.
  
;Z80DOC
+
===Execution files===
  
:HI-TECH Cのマニュアルだけで構成されるアーカイブパッケージです。配布サイトによりLZH、MS-DOSの自己解凍exeファイルなど、アーカイブ形式に若干の違いがありますが、内容は同じです。
+
These are direct links to appropriate chapter of manual(if exist)
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
====[[Operating_Details|Manual:C.COM]]====
 +
 
 +
Compiler driver
 +
 
 +
====    CPP.COM ====
 +
 
 +
Pre-processor
 +
 
 +
====    P1.COM ====
 +
 
 +
Parser
 +
 
 +
====    CGEN.COM ====
 +
 
 +
Code generator
 +
 
 +
====    OPTIM.COM ====
 +
 
 +
Optimizer
 +
 
 +
====    [[Z80_Assembler_Reference_Manual|Manual:ZAS.COM]] ====
 +
 
 +
Assembler
 +
 
 +
====    [[Linker_Reference_Manual|Manual:LINK.COM]] ====
 +
 
 +
Linker
 +
 
 +
====    [[Objtohex|Manual:OBJTOHEX.COM]] ====
 +
 
 +
IntelHex converter
 +
 
 +
====    [[Librarian|Manual:LIBR.COM]] ====
 +
 
 +
Librarian
 +
 
 +
====    [[Cref|Manual:CREF.COM]] ====
 +
 
 +
Cross referrence tool
 +
 
 +
===Header files ===
 +
 
 +
These are links to page where listed functions this header file defines
 +
 
 +
::assert.h
 +
::conio.h
 +
::cpm.h
 +
::ctype.h
 +
::dos.h
 +
::intrpt.h
 +
::math.h
 +
::setjmp.h
 +
::signal.h
 +
::stat.h
 +
::stdarg.h
 +
::stdio.h
 +
::stdlib.h
 +
::string.h
 +
::sys.h
 +
::time.h
 +
::unixio.h
 +
 
 +
=== Libraries ===
 +
 
 +
 
 +
These are links to page where listed functions this library file contsins
 +
 
 +
::libc.lib
 +
::libf.lib
 +
 
 +
 
 +
;<div id="Manual">Z80DOC</div>
 +
 
 +
:This package have only one document (hereinafter "HI-TECH C Manual") as manual. This package is provided in some different formats like .lzh or self-executed .exe file,but contents are same.
 +
 
 +
 
 +
::[[Manual|Index of the Manual]]
  
 
<!--
 
<!--
Line 22: Line 105:
 
-->
 
-->
  
== 公式アーカイブ、ファイル ==
+
== Official archives and files==
  
またライブラリと一部のツールのソースも開発元から配布されています。
+
Some source codes of libraries and utilities are provided by original developer as well.
  
;LIBSRC
+
;<div id="Source">LIBSRC</div>
  
:実行アーカイブに収録されたライブラリのソースファイル群です。C言語、もしくはアセンブラで記述されています。再コンパイルが可能です。配布サイトによりLZH、MS-DOSの自己解凍exeファイルなど、アーカイブ形式に若干の違いがありますが、内容は同じです。以下ソースアーカイブと呼びます。
+
:This package (hereinafter "Source archive") contains source files of libraries which stored in Execution archive. These are recompilable. This package is provided in some different formats like .lzh or self-executed .exe file,but contents are same.
  
 
<!--
 
<!--
Line 36: Line 119:
 
-->
 
-->
  
== User Made Public Packages ==
+
== User patches and complements ==
 +
 
 +
It is well known by users, which HI-TECH C execution files and libraries have bugs or lack header files of functions nevertheless manual describes.
 +
 
 +
Many of these issues are modified, resolved and provided by users.
 +
These functions, which are supposed by original developer are realized by them. This WIKI deals these issues as well.
 +
 
  
HI-TECH Cの実行アーカイブやライブラリにはバグや、どうしても回避しておきたい問題の仕様が、またソースアーカイブには、マニュアルに記載されているものの不足しているヘッダファイルがあることがユーザーによって報告されています。
+
;Bugs in Floating point library.
  
多くはユーザーの手によって追加、修正され、配布されており、開発元が本来想定したであろう機能を補完しています。これらについても当WIKIでは取り上げています。
+
:This library has bug which does not correct values. Source files provided in Source archive does not contain this bug, thus we can correct one only by re-compiling sources.
  
== Other Complements ==
 
  
HI-TECH CはほぼC89/90準拠ですが、開発時にもとにしていた仕様書のバージョンはドラフト版でした。そのため若干の違いがある可能性があります(調査・検証中です)。
+
;Completion of header file lacked.
 +
;Completion of functions which non-existed but described in HI-TECH C manual
  
これらの補完についても必要に応じて取り上げています。
+
:These are source or header files which are described in HI-TECH C manual but does not exist in libraries. We can use it by re-compiling these files.
  
  
 +
== Other completions ==
  
 +
HI-TECH C is mostly C89/90 standard compatible because when this compiler was developed, only draft of this standard was existed. Because of that, HI-TECH C has some difference from C89/90 standard itself (research and test is continued by admin of this Wiki). These issues are covered in this WIKI.
  
※同時代の多くのコンパイラで採用されていた実装(デファクトスタンダード)がないことも指摘されていますが、こちらはCP/M用のライブラリとして取り上げます。
+
* Extended functions or libraries for CP/M upper compatible OSs or specified models which runs on Z80 are separately described in this WIKI
  
※CP/Mの上位互換のOSで拡張された部分やZ80アーキテクチャを採用した特定の機種用に開発されたライブラリは別途それぞれ個別に取り扱います。
+
* Implementations which many compilers of the same eras(de fact standard) have though HI-TECH C does not have are described in this WIKI as well.

Latest revision as of 01:40, 7 August 2017

"HI-TECH C for CP/M"(HI-TECH C) is originally developed by HI-TECH Software in Australia. This compiler is not supported by developer but freely distributed and widely used by users.

HI-TECH Software released HI-TECH C compilers for other platforms and they are not free and proprietary version. HI-TECH Software is acquired by MICROCHIP Technology Inc.c but MICROCHIP still provides HI-TECH C compiler for 16bit/32bit PIC chips.

This WIKI deals only "HI-TECH C for CP/M 3.09", which is not supported by developer but not limited usage and freely distributed.


Basic Archives

HI-TECH C consists of 2 packages below

Z80V309
This package (hereinafter "Execution archive") have C compiler and execute files, related utilities, basic header files and libraries. This package is provided in some different formats like .lzh or self-executed .exe file,but contents are same.

Execution files

These are direct links to appropriate chapter of manual(if exist)




Manual:C.COM

Compiler driver

CPP.COM

Pre-processor

P1.COM

Parser

CGEN.COM

Code generator

OPTIM.COM

Optimizer

Manual:ZAS.COM

Assembler

Manual:LINK.COM

Linker

Manual:OBJTOHEX.COM

IntelHex converter

Manual:LIBR.COM

Librarian

Manual:CREF.COM

Cross referrence tool

Header files

These are links to page where listed functions this header file defines

assert.h
conio.h
cpm.h
ctype.h
dos.h
intrpt.h
math.h
setjmp.h
signal.h
stat.h
stdarg.h
stdio.h
stdlib.h
string.h
sys.h
time.h
unixio.h

Libraries

These are links to page where listed functions this library file contsins

libc.lib
libf.lib


Z80DOC
This package have only one document (hereinafter "HI-TECH C Manual") as manual. This package is provided in some different formats like .lzh or self-executed .exe file,but contents are same.


Index of the Manual


Official archives and files

Some source codes of libraries and utilities are provided by original developer as well.

LIBSRC
This package (hereinafter "Source archive") contains source files of libraries which stored in Execution archive. These are recompilable. This package is provided in some different formats like .lzh or self-executed .exe file,but contents are same.


User patches and complements

It is well known by users, which HI-TECH C execution files and libraries have bugs or lack header files of functions nevertheless manual describes.

Many of these issues are modified, resolved and provided by users. These functions, which are supposed by original developer are realized by them. This WIKI deals these issues as well.


Bugs in Floating point library.
This library has bug which does not correct values. Source files provided in Source archive does not contain this bug, thus we can correct one only by re-compiling sources.


Completion of header file lacked.
Completion of functions which non-existed but described in HI-TECH C manual
These are source or header files which are described in HI-TECH C manual but does not exist in libraries. We can use it by re-compiling these files.


Other completions

HI-TECH C is mostly C89/90 standard compatible because when this compiler was developed, only draft of this standard was existed. Because of that, HI-TECH C has some difference from C89/90 standard itself (research and test is continued by admin of this Wiki). These issues are covered in this WIKI.

  • Extended functions or libraries for CP/M upper compatible OSs or specified models which runs on Z80 are separately described in this WIKI
  • Implementations which many compilers of the same eras(de fact standard) have though HI-TECH C does not have are described in this WIKI as well.