Hollosi Information eXchange /HIX/
HIX CODER 2495
Copyright (C) HIX
2008-12-31
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 RE: memoriamasolas (mind)  57 sor     (cikkei)

+ - RE: memoriamasolas (mind) VÁLASZ  Feladó: (cikkei)

Vik

>Unsigned short int tipusu adatokkal dolgozom, es probalkoztam mar a 
>konyvtari
>memcpy() fuggvennyel, amitol ugyan gyorsabb lett, de a masolas 
>eredmenye koszono viszonyban sem volt az eredetivel, tehat nem nyert.
>
>Arra gondoltam, ha assemblyben irnam meg a masolo rutint, akkor az pont

>jo lenne, de valamiert nem sikerult atadnom az unsigned short int * 
>mutatok tartalmat (32 bites assembly programozas teren nincs igazan
tapasztalatom), igy ha valaki tudna ebben segiteni, azt megkoszonnem.

IMHO (az en szereny velemenyem szerint), nem erdemes assemblyben irni, 
a
memcpy egyszeru fuggveny amit a compiler valoszinuleg elegge opmizalja:
Egy pelda (eredeti library forras):
void * memcpy(register void *s1, register const void *s2, register
size_t n) 
{
	register void * result;
	result = s1;

	while (n != 0) 
	{
		--n;
		*(char *)s1 = *(char *)s2;
		s1 = (char *)s1 + 1;
		s2 = (char *)s2 + 1;
	}
	return(result);
}

Vagy ahogy en irtam:
void * memcpy(register void *s1, register const void *s2, register
size_t n) 
{
	register void * result = s1;
	register unsigned char *src = (unsigned char *) s2;
	register unsigned char *dst = (unsigned char *) s1;

	for (; n; n--)
		*src++ = *dst++;
	return(result);
}

Nem ertem hogy lehet hogy a memcpy nem masolja 'rendesen', ha a
fuggvenynek jo parametereket adsz.
Nezd meg pontosabban mit adsz at a fuggvenyek (memcpy-nak) mert sok
esetben ott a hiba.
(gyakori hiba : a size_t parameter : sizeof(pointer) ami csak a
'pointer'nek a nagysaga, nem amire mutat))

Attila

ui: elnezest a rossz magyarert, nem lakok mar MO-n 40 eve...
Elkuldheted a forras reszt maganlevelben, megnezem : 

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