[comp.binaries.ibm.pc.d] v02i098: flzh_rn.c, faster lzhuf

nelson@sun.soe.clarkson.edu (Russ Nelson) (05/23/89)

In article <7380@bsu-cs.bsu.edu> dhesi@bsu-cs.bsu.edu (Rahul Dhesi) writes:

   There seems to be a compiler dependency here, because it won't
   execute correctly if compiled with Turbo C 1.0, but Russ Nelson
   tells me it does work with later versions of Turbo C, 1.5 or 2, but
   I don't remember which.

Yes, as Rahul notes, I cannot vouch for its functioning under any but
Turbo C 2.0 and TASM 1.0.  More than likely, the problem that Rahul
encountered was a difference in the register allocation between TC 1.0
and TC 2.0, which breaks the asm code.

However, if you don't -DUSE_ASM, then it should compile using any
version of Turbo C.  I'd appreciate it if someone who has made the
code more portable (and isn't interested in Rahul's $100 prize :-)
would post the changes needed to make the code more portable.  I don't
have any expertise in this regard.
--
--russ (nelson@clutx [.bitnet | .clarkson.edu])
I'm a right-to-lifer -- everyone has a right to earn a living sufficient to
feed himself and his family.

nelson@sun.soe.clarkson.edu (Russ Nelson) (05/26/89)

Two people have reported trouble getting flzh_rn.c working.  Here is the
makefile that I used:

CFLAGS = -M -y -G -O -Z

lzhuf.exe: lzhuf.obj
	tcc $(CFLAGS) lzhuf.obj

lzhuf.obj: lzhuf.c
	tcc -c $(CFLAGS) -DUSE_ASM lzhuf.c

orig.exe: orig.obj
	tcc $(CFLAGS) orig.obj

orig.obj: orig.c
	tcc -c $(CFLAGS) orig.c

lzhuf.mrg: lzhuf.c
	tcc -S $(CFLAGS) -DUSE_ASM lzhuf.c
	tcod lzhuf
	del lzhuf.asm

all: lzhuf.exe orig.exe

# orig is the original lzhuf.c as posted to Usenet.
test:	all
	lzhuf e input compresd
	orig d compresd output
	-diff -c input output
	orig e input compresd
	lzhuf d compresd output
	-diff -c input output

#ex is a little program that times another program.
time:	nul
	ex orig e input compresd
	ex orig e input compresd
	ex orig e input compresd
	ex lzhuf e input compresd
	ex lzhuf e input compresd
	ex lzhuf e input compresd
	ex orig d compresd output
	ex orig d compresd output
	ex orig d compresd output
	ex lzhuf d compresd output
	ex lzhuf d compresd output
	ex lzhuf d compresd output
--
--russ (nelson@clutx [.bitnet | .clarkson.edu])
I'm a right-to-lifer -- everyone has a right to earn a living sufficient to
feed himself and his family.