Hollosi Information eXchange /HIX/
HIX CODER 287
Copyright (C) HIX
1998-11-21
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 RE:virtual es memset (this, 0, sizeof (ClassA)); (mind)  12 sor     (cikkei)
2 Re: dinamikus adatok megosztasa 32-bites DLL-ben (mind)  27 sor     (cikkei)
3 Re: Sin...Cos es Lee-algoritmus (mind)  17 sor     (cikkei)
4 Re: FLC es AVI formatum (mind)  6 sor     (cikkei)
5 Re: Sin...Cos es Lee-algoritmus (mind)  6 sor     (cikkei)
6 Re: virtual es memset (this, 0, sizeof (ClassA)); (mind)  29 sor     (cikkei)

+ - RE:virtual es memset (this, 0, sizeof (ClassA)); (mind) VÁLASZ  Feladó: (cikkei)

Szia Joco,

A memset (this, 0, sizeof (ClassA)); hasznalata a konstruktorban nem tulzottan 
szerencses. A megfigyelesed helyes, valoban szamit az, hogy az adott osztalyban
 van-e virtualis fuggveny. Ebben az esetben ugyanis a this pointer a virtualis 
fuggvenyek cimet tartalmazo tablazat (ezt szoktak vtable-nek is nevezni) cimere
 mutat. Ezt a memset kinullazza igy az elso virtualis fugveny meghivasakor a co
mpiler a 0 cimrol akarja kivenni a virtualis fuggvenyek tablajanak cimet es ezz
el a muvelettel a vilagurbe indexel. Azt hogy ezutan mi tortenik, azt mar konny
u kitalalni... :)

Bela
+ - Re: dinamikus adatok megosztasa 32-bites DLL-ben (mind) VÁLASZ  Feladó: (cikkei)

Hello!

A dinamikusan allokalt memoriat csak a file mapping segitsegevel lehet hozzafer
hetove tenni mas processzek szamara. Nem tul nehez ezt megoldani, de a leirt fe
ladathoz nincs szukseg kozvetlenul osztott memoria kezelesere, sokkal kenyelmes
ebb valamilyen osztott memoriara epulo indirekt modszert hasznalni, pl. a named
 pipe-okat. A pipe-nak eloszor is valasztasz egy nevet. A DLL indulaskor megnez
i, hogy letezik-e mar ilyen nevu pipe (CreateNamedPipe()), ha igen, akkor csak 
lekerdezi az azonositojat, ha nem, akkor letrehozza, es a ConnectNamedPipe() fu
ggvennyel hozzarendeli egy esemeny objektumhoz. Ezutan egy vegtelen ciklusban v
arakozni kell a kliens keresekre pl. a WaitForSingleObject() fuggvennyel. Az in
formacio fogadasat es irasat a szokasos Read/Write fuggvenyekkel lehet vegrehaj
tani.

A klienseknek eleg csak egy fuggvenyt meghivniuk, a CallNamedPipe() fuggvenyt, 
ezzel atpasszolnak egy kerest a szervernek es valaszt is kaphatnak ra. A szerve
r a halozat mas gepen is lehet!

Ha ugyanezt a funkcionalitast kozvetlenul file mapping-gel akarod megoldani, ak
kor minden csak bonyolultabb lesz, mert pl. a hozzaferesek sorbarendezesehez a 
kliens oldalon tovabbi fuggvenyhivasokra lesz szukseg (viszont a CallNamedPipe(
) ezt mar tartalmazza).

Szanto Tamas
MOL Rt. IT

(webes bekuldes, a bekuldo gepe: fw.mol.hu)
+ - Re: Sin...Cos es Lee-algoritmus (mind) VÁLASZ  Feladó: (cikkei)

Hali!

> Az lenne a kerdesem hogyan lehet kiszamitani ASM-ban A Sin es Cos
> ertekeket? Persze a fixpontos abrazolast kell hasznalni azt sejtem.

Milyen ASM?  A PC-n ezt tudja a floating point unit.  Igy nem kell
fixpontos aritmetikat irnod.

> Hallottam arrol hogy valamilyen tablazatos modszer is van es a tablazatoto
> is futasidoben allitja elo a rutin.

Ha az eletem mulna rajta, akkor en Taylor sorba fejtenem a dolgot. 

-- 
Let the Source be with you!

ImRe
+ - Re: FLC es AVI formatum (mind) VÁLASZ  Feladó: (cikkei)

>Erdekelne az FLC es az AVI formatum szerkezete es hogy hogyan
>Ezert ha tudnatok cimet, hogy hol talalok leirast ill.

http://www.wotsit.org/animate.htm

z2
+ - Re: Sin...Cos es Lee-algoritmus (mind) VÁLASZ  Feladó: (cikkei)

>Az lenne a kerdesem hogyan lehet kiszamitani ASM-ban A Sin es Cos
>ertekeket? Persze a fixpontos abrazolast kell hasznalni azt sejtem.

http://www.chu.cam.ac.uk/home/lk213/comp_fix.html

z2
+ - Re: virtual es memset (this, 0, sizeof (ClassA)); (mind) VÁLASZ  Feladó: (cikkei)

Szevasztok!

>Felado :  [Hungary]
>Osztalyok konstruktoranak elokeszitesere eloszeretettel hasznaltam
>a memset funkciot a kovetkezo formaban:

>ClassA::ClassA (void)
>{
>memset (this, 0, sizeof (ClassA));
>return;
>}

>Mindaddig nem is volt ezzel problemam, amig az adott osztalyban
>nem szerepelt virtualis fuggveny. Ha azonban szerepelt a virtual

Latod azert mert a C-ben szinte mindent meg lehet tenni, olyat csinalsz,
amibol csak gond lehet.
Sehol sincs leirva, hogy igy lehet, kell inicializalni egy osztalyt (Te
ugyan azt allitod, hogy a konstruktor elokeszitesere hasznalod, de a
memset-ben az osztaly meretet adtad meg!).
Azert mert egy-ket alkalommal mukodott, latod egy masik helyzetben mar nem
mukodik. Mi van, ha egy masik C alatt, vagy akarcsak egy uj verziojaban a
forditodnak nem 2 byte-ot, hanem pl. 5 byte-ot hasznalnak valami kulonleges
celra?
Szerintem ezt ne tedd, hanem tessek a konstruktorban minden egyes valtozo
erteket egyenkent inicializalni!

Udvozlettel   (:-))>
Torma Istvan, TOR,  (ekezetes, tegezodes johet)

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