[ jc denton @ 17.02.2002. 00:55 ] @
Treba mi kod u asembleru ili C++ koji bi mogao da uporedi dva niza (memorijska bloka) veoma brzo i da vrati broj razlicitih bajtova.


Ali kako da pozovem taj kod iz Visual basica, i da dobijem trazeni rezultat ?
[ jc denton @ 17.02.2002. 01:56 ] @
Treba mi kod u asembleru ili c++ koji ce brzo da uporedi dva niza ili memorijska bloka, a da mogu da ga pozovem iz Visual basic-a i da mi vrati neke rezultate (recimo kao kad zovem neku API funkciju pa mi ta funkcija vrati neku vrednost).

Ja iz VB mogu da prosledim pointer na prvi elemenat niza, tj. pointer na pocetak memorijskog bloka gde je niz (oba niza koji se uporedjuju su byte tipa).

Uporedjivanje nizova treba da se izvrsi na sledeci nacin :

Kod treba da uporedi neparne bajtove iz prvog niza sa neparnim iz drugog, pa onda parne iz prvog i parne iz drugog i da vrati razlike za prvi i drugi slucaj.

znaci ovako:

uporedjivanje neparnih bajtova :

prviniz bajt1 bajt2 bajt3 .... bajtn
| |
drugi bajt1 bajt2 bajt3 .... bajtn
vraca broj razlicitih neparnih

uporedjivanje parnih bajtova :

prviniz bajt1 bajt2 bajt3 .... bajtn
|
drugi bajt1 bajt2 bajt3 .... bajtn
vraca broj razlicitih parnih

Ako je ovo suvise komplikovano u asembleru, kako u Visual C++ da na osnovu pointera na pocetak niza (pointer na memorijski blok), krenem kroz petlju i uporedjujem redom bajtove ?
Kako se uz pomoc pointera kretati kroz niz u C++?

Napomena :
Ovaj kod potreban mi je da bi veoma brzo (real time) mogao da uporedim dve VGA slike i dobijem procentualnu razliku - ajde cik pogodite zasta sluzi ovo poredjenje?
[ Mikky @ 17.02.2002. 21:50 ] @
odgovor dobijen na temi
http://www.elitesecurity.org/tema.php?TopicID=6358