⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cplibr.gml

📁 开放源码的编译器open watcom 1.6.0版的源代码
💻 GML
📖 第 1 页 / 共 3 页
字号:
.*
.np
.ix 'libraries' 'class'
The &product Class Library routines are described in the
.book &cmppname Class Library Reference
manual.
.np
The &cmppname 16-bit Class Libraries are listed below.
.if '&target' eq 'QNX' .do begin
.ix 'plibs.lib'
.ix 'plibm.lib'
.ix 'plibc.lib'
.ix 'plibl.lib'
.ix 'plibh.lib'
.ix 'cplxs.lib'
.ix 'cplxm.lib'
.ix 'cplxc.lib'
.ix 'cplxl.lib'
.ix 'cplxh.lib'
.ix 'cplx7s.lib'
.ix 'cplx7m.lib'
.ix 'cplx7c.lib'
.ix 'cplx7l.lib'
.ix 'cplx7h.lib'
.millust begin
    (iostream and string class libraries)
plibs.lib    (small model support)
plibm.lib    (medium model support)
plibc.lib    (compact model support)
plibl.lib    (large model support)
plibh.lib    (huge model support)
    (complex class library for "fpc" option)
cplxs.lib    (small model support)
cplxm.lib    (medium model support)
cplxc.lib    (compact model support)
cplxl.lib    (large model support)
cplxh.lib    (huge model support)
    (complex class library for "fpi..." options)
cplx7s.lib   (small model support)
cplx7m.lib   (medium model support)
cplx7c.lib   (compact model support)
cplx7l.lib   (large model support)
cplx7h.lib   (huge model support)
.millust end
.pc
These libraries are independent of the operating system.
.do end
.el .do begin
.np
.cp 8
.us Under
.fi &pathnamup\LIB286
.ix 'PLIBS.LIB'
.ix 'PLIBM.LIB'
.ix 'PLIBC.LIB'
.ix 'PLIBL.LIB'
.ix 'PLIBH.LIB'
.ix 'PLIBMTL.LIB'
.ix 'PLIBDLL.LIB'
.ix 'CPLXS.LIB'
.ix 'CPLXM.LIB'
.ix 'CPLXC.LIB'
.ix 'CPLXL.LIB'
.ix 'CPLXH.LIB'
.ix 'CPLX7S.LIB'
.ix 'CPLX7M.LIB'
.ix 'CPLX7C.LIB'
.ix 'CPLX7L.LIB'
.ix 'CPLX7H.LIB'
.millust begin
    (iostream and string class libraries)
PLIBS.LIB    (small model support)
PLIBM.LIB    (medium model support)
PLIBC.LIB    (compact model support)
PLIBL.LIB    (large model support)
PLIBH.LIB    (huge model support)
PLIBMTL.LIB  (OS/2 multi-thread, large model support)
PLIBDLL.LIB  (OS/2 DLL, large model support)
    (complex class library for "fpc" option)
CPLXS.LIB    (small model support)
CPLXM.LIB    (medium model support)
CPLXC.LIB    (compact model support)
CPLXL.LIB    (large model support)
CPLXH.LIB    (huge model support)
    (complex class library for "fpi..." options)
CPLX7S.LIB   (small model support)
CPLX7M.LIB   (medium model support)
CPLX7C.LIB   (compact model support)
CPLX7L.LIB   (large model support)
CPLX7H.LIB   (huge model support)
.millust end
.pc
These libraries are independent of the operating system (except those
designated for OS/2).
.do end
The "7" designates a library compiled with the "7" option.
.np
The &cmppname 32-bit Class Libraries are listed below.
.if '&target' eq 'QNX' .do begin
.ix 'plib3r.lib'
.ix 'plib3s.lib'
.ix 'cplx3r.lib'
.ix 'cplx3s.lib'
.ix 'cplx73r.lib'
.ix 'cplx73s.lib'
.millust begin
    (iostream and string class libraries)
plib3r.lib   (flat models, "3r", "4r" or "5r" option)
plib3s.lib   (flat models, "3s", "4s" or "5s" option)
    (complex class library for "fpc" option)
cplx3r.lib   (flat models, "3r", "4r" or "5r" option)
cplx3s.lib   (flat models, "3s", "4s" or "5s" option)
    (complex class library for "fpi..." options)
cplx73r.lib  (flat models, "3r", "4r" or "5r" option)
cplx73s.lib  (flat models, "3s", "4s" or "5s" option)
.millust end
.pc
These libraries are independent of the operating system.
The "3r" and "3s" suffixes refer to the argument passing convention
used.
.do end
.el .do begin
.np
.cp 8
.us Under
.fi &pathnamup\LIB386
.ix 'PLIB3R.LIB'
.ix 'PLIB3S.LIB'
.ix 'CPLX3R.LIB'
.ix 'CPLX3S.LIB'
.ix 'CPLX73R.LIB'
.ix 'CPLX73S.LIB'
.millust begin
    (iostream and string class libraries)
PLIB3R.LIB   (flat models, "3r", "4r" or "5r" option)
PLIB3S.LIB   (flat models, "3s", "4s" or "5s" option)
PLIBMT3R.LIB (multi-thread library for OS/2 and Windows NT)
PLIBMT3S.LIB (multi-thread library for OS/2 and Windows NT)
    (complex class library for "fpc" option)
CPLX3R.LIB   (flat models, "3r", "4r" or "5r" option)
CPLX3S.LIB   (flat models, "3s", "4s" or "5s" option)
    (complex class library for "fpi..." options)
CPLX73R.LIB  (flat models, "3r", "4r" or "5r" option)
CPLX73S.LIB  (flat models, "3s", "4s" or "5s" option)
.millust end
.pc
These libraries are independent of the operating system (except those
designated for OS/2 and Windows NT).
The "3R" and "3S" suffixes refer to the argument passing convention
used.
.do end
The "7" designates a library compiled with the "7" option.
.*
.section *refid=libmath &product Math Libraries
.*
.np
.ix 'libraries' 'math'
In general, a Math library is required when floating-point
computations are included in the application.
The Math libraries are operating-system independent.
.if '&target' eq 'QNX' .do begin
.ix '&libdir'
The Math libraries are placed under the
.fi &pathnam&libdir
directory.
.do end
.el .do begin
.np
.ix 'LIB286'
For the 286 architecture, the Math libraries are placed under the
.fi &pathnamup&pc.LIB286
directory.
.np
.ix 'LIB386'
For the 386 architecture, the Math libraries are placed under the
.fi &pathnamup&pc.LIB386
directory.
.do end
.if '&target' ne 'QNX' .do begin
.np
.ix '80x87 emulator'
.ix 'floating-point emulator'
.ix 'emulator' '80x87'
.ix 'emulator' 'floating-point'
An 80x87 emulator library,
.fi emu87.lib
.ct , is also provided which is both operating-system and architecture
dependent.
.do end
.np
The following situations indicate that one of the Math libraries
should be included when linking the application.
.autonote
.note
When one or more of the functions described in the
.fi math.h
header file is referenced, then a Math library must be included.
.keep 4
.note
.ix '_fltused_'
.ix 'floating-point' '_fltused_'
If an application is linked and the message
.millust begin
"_fltused_ is an undefined reference"
.millust end
.pc
appears, then a Math library must be included.
.*
.note
(16-bit only)
If an application is linked and the message
.ix '__init_87_emulator'
.ix 'floating-point' '__init_87_emulator'
.millust begin
"__init_87_emulator is an undefined reference"
.millust end
.pc
appears, then one of the modules in the application was compiled with
one of the "fpi", "fpi87", "fp2", "fp3" or "fp5" options.
.ix 'emu87.lib'
.ix 'noemu87.lib'
If the "fpi" option was used, the 80x87 emulator library (
.ct
.fi emu87.lib
.ct
) or the 80x87 fixup library (
.ct
.fi noemu87.lib
.ct
) should be included when linking the application.
.np
If the "fpi87" option was used, the 80x87 fixup library
.fi noemu87.lib
should be included when linking the application.
.if '&target' ne 'QNX' .do begin
.np
The 80x87 emulator is contained in
.fi emu87.lib.
Use
.fi noemu87.lib
in place of
.fi emu87.lib
when the emulator is not wanted.
.do end
.note
(32-bit only)
If an application is linked and the message
.ix '__init_387_emulator'
.ix 'floating-point' '__init_387_emulator'
.millust begin
"__init_387_emulator is an undefined reference"
.millust end
.pc
appears, then one of the modules in the application was compiled with
one of the "fpi", "fpi87", "fp2", "fp3" or "fp5" options.
.ix 'emu387.lib'
.ix 'noemu387.lib'
If the "fpi" option was used, the 80x87 emulator library (
.ct
.fi emu387.lib
.ct ) should be included when linking the application.
.np
If the "fpi87" option was used, the empty 80x87 emulator library
.fi noemu387.lib
should be included when linking the application.
.if '&target' ne 'QNX' .do begin
.np
The 80x87 emulator is contained in
.fi emu387.lib.
Use
.fi noemu387.lib
in place of
.fi emu387.lib
when the emulator is not wanted.
.do end
.*
.endnote
.np
Normally, the compiler and linker will automatically take care of
this.
Simply ensure that the
.ev &pathvarup
environment variable includes the location of the &product libraries.
.*
.section &product 80x87 Math Libraries
.*
.np
.ix 'libraries' '80x87 math'
.ix 'options' 'fpi'
.ix 'options' 'fpi87'
.ix 'options' 'fp2'
.ix 'options' 'fp3'
.ix 'options' 'fp5'
.*
One of the following Math libraries must be used if any of the modules
of your application were compiled with one of the &product "fpi",
"fpi87", "fp2", "fp3" or "fp5" options and your application requires
floating-point support for the reasons given above.
.* WCC ---------------------------------------------------------
.np
.us 16-bit libraries:
.ix 'C libraries' 'small'
.ix 'small model' 'libraries'
.ix 'C libraries' 'medium'
.ix 'medium model' 'libraries'
.ix 'C libraries' 'compact'
.ix 'compact model' 'libraries'
.ix 'C libraries' 'large'
.ix 'large model' 'libraries'
.ix 'C libraries' 'huge'
.ix 'huge model' 'libraries'
.if '&target' eq 'QNX' .do begin
.ix 'math87s.lib'
.ix 'math87m.lib'
.ix 'math87c.lib'
.ix 'math87l.lib'
.ix 'math87h.lib'
.millust begin
math87s.lib (small model)
math87m.lib (medium model)
math87c.lib (compact model)
math87l.lib (large model)
math87h.lib (huge model)
noemu87.lib
emu87.lib   (QNX dependent)
.millust end
.do end
.el .do begin
.ix 'MATH87S.LIB'
.ix 'MATH87M.LIB'
.ix 'MATH87C.LIB'
.ix 'MATH87L.LIB'
.ix 'MATH87H.LIB'
.millust begin
MATH87S.LIB (small model)
MATH87M.LIB (medium model)
MATH87C.LIB (compact model)
MATH87L.LIB (large model)
MATH87H.LIB (huge model)
NOEMU87.LIB
DOS&pc.EMU87.LIB (DOS dependent)
OS2&pc.EMU87.LIB (OS/2 dependent)
WIN&pc.EMU87.LIB (Windows dependent)
WIN&pc.MATH87C.LIB (Windows dependent)
WIN&pc.MATH87L.LIB (Windows dependent)
.millust end
.do end
.* WCC386 ------------------------------------------------------
.np
.us 32-bit libraries:
.ix 'C libraries' 'flat'
.ix 'flat model' 'libraries'
.ix 'C libraries' 'small'
.ix 'small model' 'libraries'
.if '&target' eq 'QNX' .do begin
.ix 'math387r.lib'
.ix 'math387s.lib'
.millust begin
math387r.lib (flat/small models, "3r", "4r" or "5r" option)
math387s.lib (flat/small models, "3s", "4s" os "5s" option)
emu387.lib   (QNX dependent)
.millust end
.do end
.el .do begin
.ix 'MATH387R.LIB'
.ix 'MATH387S.LIB'
.millust begin
MATH387R.LIB (flat/small models, "3r", "4r" or "5r" option)
MATH387S.LIB (flat/small models, "3s", "4s" or "5s" option)
DOS&pc.EMU387.LIB (DOS dependent)
WIN&pc.EMU387.LIB (Windows dependent)
OS2&pc.EMU387.LIB (OS/2 dependent)
NT&pc.EMU387.LIB (Windows NT dependent)
.millust end
.do end
.pc
.ix 'numeric data processor'
.ix 'math coprocessor'
.ix 'options' 'fpi'
The "fpi" option causes an 80x87 numeric data processor emulator to be
linked into your application in addition to any 80x87 math routines
that were referenced.
.if '&target' eq 'QNX' .do begin
For QNX, there is a common 80x87 emulator task that is used so that
there is one copy of the emulator in memory at any one time.
.do end
This emulator will decode and emulate 80x87 instructions when an 80x87
is not present in the
.if '&target' eq 'QNX' .do begin
system.
.do end
.el .do begin
system or if the environment variable
.ev NO87
has been set (this variable is described below).
.do end
.if '&target' ne 'QNX' .do begin
.np
For 32-bit &company Windows-extender applications or 32-bit
applications run in Windows 3.1 DOS boxes, you must also include the
.fi WEMU387.386
file in the
.mono [386enh]
section of the
.fi SYSTEM.INI
file.
.exam begin
device=C:&pathnamup.\binw\wemu387.386

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -