Hollosi Information eXchange /HIX/
HIX CODER 1512
Copyright (C) HIX
2002-05-06
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 Re: shannon-fano/environment (mind)  53 sor     (cikkei)
2 dll-bol fajlkiszedes (mind)  8 sor     (cikkei)

+ - Re: shannon-fano/environment (mind) VÁLASZ  Feladó: (cikkei)

On 1 May 02, at 21:23, sdragon=freemail.hu wrote:

> 1, mi a kulonbseg a Shannon­-Fano fele kodolasi eljaras, es
> a huffman fele kodolas kozott?

Nagyon hasonlitanak egymasra, a kulonbseg az, hogy a Huffman 
alulrol felfele epiti fel a fat, a SF pedig felulrol lefele.

Huffman: minden lepesben a ket legkisebb gyakorisagu elemet 
osszekotjuk (=fat epitunk belole, a ket elem a falevel), egyik kodja 
lesz 0, masike 1, es a keletkezo uj elem (=a fa elagazasa) a ketto 
gyakorisaganak osszegevel fog rendelkezni, es ezt az elemet is 
ugy kezeljuk, mint az eredeti betuket. Ezt a lepest ismeteljuk 
mindaddig, amig minden betu (elem) bekerult a faba, vagyis amig 
egyetlen fa nem lesz belole.

Shannon-Fano: az elemeket gyakorisaguk szerint sorbarakjuk, es 
ezt a sort kettevagjuk ugy, hogy a ket felben nagyjabol azonos 
legyen a gyakorisagok osszege (vagyis praktikusan ugy csinaljuk, 
hogy osszeadogatjuk a gyakorisagokat, es megallunk (= ott lesz a 
vagasi hely), amikor atlepjuk a 0.5-et). A vagas egyik fele lesz 0, a 
masik meg 1. Aztan mindket oldalt tovabb vagdaljuk 
hasonlokeppen, vagyis a gyakorisagaik osszegenek a felezesevel.

A Huffman elvileg optimalis, a Shannon-Fano nem (tehat az 
rosszabb altalaban). Megvalositasat tekintve mindketto nagyon 
egyszeru, bar az SF kicsit gyorsabb, mert nem kell minden lepes 
utan sorbarendezve beszurni (a H-nal kell).

Egyebkent pongyolan Huffman kodnak szoktak nevezni a Fax G3 
kodban hasznalt kodolast is, de az a lenyeget tekintve mas, mert 
nem epit fel az aktualis keptol fuggo fát, hanem egyetlen statikus 
fát hasznal allandoan. Viszont igy megvan az az elonye, hogy a fát 
magát nem kell a kompresszalt file-ban eltarolni.

> 2, egy win32-es proggybol meghivok egy stdin/stdout proggyt,
>   es be kene allitani programbol az environment-et,hogyan?

A CreateProcess() fuggvenynek a 7. parametere az lpEnvironment, 
amit ide irsz (0 byte-tal lezart stringek egymas utan, legvegen még 
1 lezaro 0 byte), az lesz a processz environmentje. Ha NULL-t irsz 
ide, akkor oroklodik az antualis environment. Ha csak nehany 
valtozot akarsz atadni, akkor az az egyszerubb, hogy az 
lpEnvironment-ben csak azokat atadod (pl. ezzel a stringgel:
 "user=Akarki\0home=akarhol\0"
csak a user es a home valtozok lesznek a program env-eben. Ha 
az osszes aktualis valtozot is at akarod adni, meg raadasul meg 
nehanyat is, akkor csinalhatod azt is, hogy a 
SetEnvironmentVariable() fuggvenyt hasznalva beallitod a kivant 
valtozokat, aztan a CreateProcess()-nel NULL-t adsz be a 7. 
parameterkent, hogy orokolje az aktualis ertekeket.

István
+ - dll-bol fajlkiszedes (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok,
Csak azt szeretném megtudni, hogy miképpen tudom 
"kiszedni" DLL fájlokból a "normális" fájlokat?

A választ előre is köszönöm, <b>ha lehet maganba</b> is kérném.

Üdvözlettel:
Peter

AGYKONTROLL ALLAT AUTO AZSIA BUDAPEST CODER DOSZ FELVIDEK FILM FILOZOFIA FORUM GURU HANG HIPHOP HIRDETES HIRMONDO HIXDVD HUDOM HUNGARY JATEK KEP KONYHA KONYV KORNYESZ KUKKER KULTURA LINUX MAGELLAN MAHAL MOBIL MOKA MOZAIK NARANCS NARANCS1 NY NYELV OTTHON OTTHONKA PARA RANDI REJTVENY SCM SPORT SZABAD SZALON TANC TIPP TUDOMANY UK UTAZAS UTLEVEL VITA WEBMESTER WINDOWS