📄 oberhumer_com lzo documentation.mht
字号:
- your preprocessor must implement #elif, #error and stringizing
- you must have a conforming and correct <limits.h> header
- you must have <stddef.h>, <string.h> and other ANSI C =
headers
- you should have size_t and ptrdiff_t
Portability
-----------
I have built and tested LZO successfully on a variety of platforms
including DOS (16 + 32 bit), Windows 3.x (16-bit), Win32, Win64,
Linux, *BSD, HP-UX and many more.
LZO is also reported to work under AIX, ConvexOS, IRIX, MacOS, PalmOS =
(Pilot),
PSX (Sony Playstation), Solaris, SunOS, TOS (Atari ST) and VxWorks.
Furthermore it is said that its performance on a Cray is superior
to all other machines...
And I think it would be much fun to translate the decompressors
to Z-80 or 6502 assembly.
The future
----------
Here is what I'm planning for the next months. No promises, though...
- interfaces to .NET and Mono
- interfaces to Perl, Java, Python, Delphi, Visual Basic, ...
- improve documentation and API reference
Some comments about the source code
-----------------------------------
Be warned: the main source code in the `src' directory is a
real pain to understand as I've experimented with hundreds of slightly
different versions. It contains many #if and some gotos, and
is *completely optimized for speed* and not for readability.
Code sharing of the different algorithms is implemented by stressing
the preprocessor - this can be really confusing. Lots of marcos and
assertions don't make things better.
Nevertheless LZO compiles very quietly on a variety of
compilers with the highest warning levels turned on, even
in C++ mode.
Copyright
---------
LZO is Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, =
2004,
2005 Markus Franz Xaver Johannes Oberhumer
LZO is distributed under the terms of the GNU General Public License =
(GPL).
See the file COPYING.
Special licenses for commercial and other applications which
are not willing to accept the GNU General Public License
are available by contacting the author.
</PRE></TD>
<TD width=3D15>
<P style=3D"WIDTH: 15px; min-width: =
15px"></P></TD></TR></TBODY></TABLE></DIV>
<HR>
<DIV class=3Dcopyright align=3Dcenter>Copyright =C2=A9 1996, 2007 =
oberhumer.com GmbH. All=20
Rights Reserved.<BR><A=20
href=3D"http://www.oberhumer.com/company/terms_of_use.php">Terms of =
Use</A> | <A=20
id=3Dsitemap_toggle =
href=3D"http://www.oberhumer.com/sitemap.php">Sitemap</A>=20
</DIV><BR></DIV></DIV></BODY></HTML>
------=_NextPart_000_0000_01C80DF9.B0B3CB90
Content-Type: text/css;
charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.oberhumer.com/content/css/main.css
BODY {
FONT-SIZE: 12px; LINE-HEIGHT: 1.4em; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}
TABLE {
FONT-SIZE: 12px; LINE-HEIGHT: 1.4em; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}
TR {
FONT-SIZE: 12px; LINE-HEIGHT: 1.4em; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}
TH {
FONT-SIZE: 12px; LINE-HEIGHT: 1.4em; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}
TD {
FONT-SIZE: 12px; LINE-HEIGHT: 1.4em; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}
DIV {
FONT-SIZE: 12px; LINE-HEIGHT: 1.4em; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}
P {
FONT-SIZE: 12px; LINE-HEIGHT: 1.4em; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}
H1 {
FONT-SIZE: 12px; LINE-HEIGHT: 1.4em; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}
H2 {
FONT-SIZE: 12px; LINE-HEIGHT: 1.4em; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}
H3 {
FONT-SIZE: 12px; LINE-HEIGHT: 1.4em; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}
H4 {
FONT-SIZE: 12px; LINE-HEIGHT: 1.4em; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}
UL {
FONT-SIZE: 12px; LINE-HEIGHT: 1.4em; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}
OL {
FONT-SIZE: 12px; LINE-HEIGHT: 1.4em; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}
LI {
FONT-SIZE: 12px; LINE-HEIGHT: 1.4em; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}
H1 {
FONT-SIZE: 18px
}
H2 {
FONT-SIZE: 16px
}
H3 {
FONT-SIZE: 13px
}
.h3_initial {
FONT-SIZE: 32px
}
HTML {
OVERFLOW-Y: scroll; HEIGHT: 100%
}
BODY {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; COLOR: #000000; PADDING-TOP: 0px; HEIGHT: 100%; BACKGROUND-COLOR: =
#ffffff
}
A:link {
COLOR: #0000ff
}
A:visited {
COLOR: #660099
}
A:active {
COLOR: #ff0000
}
DD P {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 10px
}
UL.uld {
LIST-STYLE-TYPE: disc
}
UL.uld LI {
MARGIN-BOTTOM: 2px
}
UL.ulw {
LIST-STYLE-TYPE: disc
}
UL.ulw LI {
MARGIN-BOTTOM: 8px
}
DIV.body_div_1 {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 10px; MARGIN: =
0px; WIDTH: 100%; PADDING-TOP: 0px
}
DIV.body_div_2 {
PADDING-RIGHT: 20px; PADDING-LEFT: 20px; PADDING-BOTTOM: 0px; MARGIN: =
0px; WIDTH: 950px; PADDING-TOP: 0px; BACKGROUND-COLOR: #fbfbff
}
DIV.main_div {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
20px 10px; WIDTH: 930px; PADDING-TOP: 0px; TEXT-ALIGN: left
}
TABLE.main_table {
BORDER-RIGHT: medium none; PADDING-RIGHT: 0px; BORDER-TOP: medium none; =
PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: medium =
none; PADDING-TOP: 0px; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: =
collapse; empty-cells: show
}
TABLE.main_table TD {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
DIV.autoindex TR {
LINE-HEIGHT: 1.4em; FONT-FAMILY: monospace
}
DIV.autoindex TH {
LINE-HEIGHT: 1.4em; FONT-FAMILY: monospace
}
DIV.autoindex TD {
LINE-HEIGHT: 1.4em; FONT-FAMILY: monospace
}
DIV.underconstruction {
FONT-SIZE: 10px; FONT-STYLE: italic
}
TABLE.toptop {
BORDER-RIGHT: medium none; PADDING-RIGHT: 0px; BORDER-TOP: medium none; =
PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: medium =
none; PADDING-TOP: 0px; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: =
collapse; empty-cells: show
}
TABLE.toptop TD {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
TABLE.toptop TABLE {
BORDER-RIGHT: medium none; PADDING-RIGHT: 0px; BORDER-TOP: medium none; =
PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: medium =
none; PADDING-TOP: 0px; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: =
collapse; empty-cells: show
}
TR.topnav A {
PADDING-RIGHT: 20px; DISPLAY: block; PADDING-LEFT: 20px; =
PADDING-BOTTOM: 0px; MARGIN: 2px 0px 2px 4px; COLOR: #000000; =
PADDING-TOP: 0px; HEIGHT: 32px; TEXT-DECORATION: none
}
TR.topnav A.active {
FONT-WEIGHT: bold; BACKGROUND-COLOR: #f0f080
}
TR.topnav A.active:hover {
BACKGROUND-COLOR: #e0e060
}
TR.topnav A.inactive {
BACKGROUND-COLOR: #f0f0f0
}
TR.topnav A.inactive:hover {
BACKGROUND-COLOR: #e0e0f0
}
TR.topnav SPAN.active {
DISPLAY: block; MARGIN: 0px; COLOR: #000000; PADDING-TOP: 1px
}
TR.topnav SPAN.inactive {
DISPLAY: block; MARGIN: 0px; COLOR: #000000; PADDING-TOP: 15px
}
TABLE.topimg_w0950 {
BACKGROUND: url(/content/images/Hauptbild_0990x169_Logo_01b.jpg) =
no-repeat; WIDTH: 950px; HEIGHT: 169px; empty-cells: show
}
TABLE.topimg_w0950 .td1 {
PADDING-LEFT: 20px; FONT-SIZE: 48px; PADDING-BOTTOM: 10px; =
VERTICAL-ALIGN: bottom; COLOR: #ffffff
}
TABLE.topimg_w0950 .td2 {
PADDING-RIGHT: 20px; FONT-SIZE: 48px; PADDING-BOTTOM: 10px; =
VERTICAL-ALIGN: bottom; COLOR: #2726a5
}
TABLE.topimg_w0950_empty {
BORDER-RIGHT: medium none; PADDING-RIGHT: 0px; BORDER-TOP: medium none; =
PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: medium =
none; WIDTH: 950px; PADDING-TOP: 0px; BORDER-BOTTOM: medium none; =
BORDER-COLLAPSE: collapse; HEIGHT: 169px; empty-cells: show
}
TABLE.topimg_w0950_empty .tdall {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; OVERFLOW: hidden; PADDING-TOP: 0px
}
TABLE.topimg_w0950_empty .divback {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; Z-INDEX: 1; PADDING-BOTTOM: 0px; =
MARGIN: 0px; OVERFLOW: hidden; WIDTH: 950px; CLIP: rect(0px 950px 169px =
0px); PADDING-TOP: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 169px
}
TABLE.topimg_w0950_empty .div2 {
PADDING-RIGHT: 20px; PADDING-LEFT: 0px; FONT-SIZE: 48px; Z-INDEX: 2; =
PADDING-BOTTOM: 10px; MARGIN: 0px; VERTICAL-ALIGN: bottom; OVERFLOW: =
hidden; WIDTH: 950px; COLOR: #f726a5; PADDING-TOP: 0px; POSITION: =
absolute; TOP: 0px; HEIGHT: 169px
}
#sitemap_div {
BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: black =
1px solid; PADDING-LEFT: 10px; RIGHT: 10px; BACKGROUND: =
url(/content/images/solid/solid_fbf7ff_64x64.png); FILTER: =
alpha(opacity=3D95); LEFT: 10px; VISIBILITY: hidden; PADDING-BOTTOM: =
10px; MARGIN: 0px; OVERFLOW: hidden; BORDER-LEFT: black 1px solid; =
BOTTOM: 10px; PADDING-TOP: 10px; BORDER-BOTTOM: black 1px solid; =
POSITION: absolute; TOP: 10px; HEIGHT: 90%
}
TABLE.sitemap {
BORDER-RIGHT: medium none; PADDING-RIGHT: 0px; BORDER-TOP: medium none; =
PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: medium =
none; WIDTH: 100%; PADDING-TOP: 0px; BORDER-BOTTOM: medium none; =
empty-cells: show
}
TABLE.sitemap TD {
VERTICAL-ALIGN: bottom
}
TABLE.sitemap TR.tr2 {
HEIGHT: 34px
}
TABLE.sitemap TD.td2 {
FONT-WEIGHT: bold; HEIGHT: 34px
}
TABLE.sitemap TD.tdclose {
FONT-WEIGHT: bold; FONT-SIZE: 13px; HEIGHT: 34px
}
------=_NextPart_000_0000_01C80DF9.B0B3CB90
Content-Type: text/css;
charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.oberhumer.com/content/css/test01.css
BODY {
FONT-SIZE: 10pt; LINE-HEIGHT: 1.4em; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
TABLE {
FONT-SIZE: 10pt; LINE-HEIGHT: 1.4em; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
TR {
FONT-SIZE: 10pt; LINE-HEIGHT: 1.4em; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
TD {
FONT-SIZE: 10pt; LINE-HEIGHT: 1.4em; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
DIV {
FONT-SIZE: 10pt; LINE-HEIGHT: 1.4em; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
P {
FONT-SIZE: 10pt; LINE-HEIGHT: 1.4em; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
H1 {
FONT-SIZE: 10pt; LINE-HEIGHT: 1.4em; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
H2 {
FONT-SIZE: 10pt; LINE-HEIGHT: 1.4em; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
H3 {
FONT-SIZE: 10pt; LINE-HEIGHT: 1.4em; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
H4 {
FONT-SIZE: 10pt; LINE-HEIGHT: 1.4em; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
UL {
FONT-SIZE: 10pt; LINE-HEIGHT: 1.4em; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
OL {
FONT-SIZE: 10pt; LINE-HEIGHT: 1.4em; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
LI {
FONT-SIZE: 10pt; LINE-HEIGHT: 1.4em; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
H1 {
FONT-SIZE: 18px
}
H2 {
FONT-SIZE: 16px
}
H3 {
FONT-SIZE: 13px
}
.h3_initial {
FONT-SIZE: 32px
}
------=_NextPart_000_0000_01C80DF9.B0B3CB90--
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -