Započeo TarikBrt
•24. Mar. 2020.Kako najefkasnije odrediti string size
2,691
pregleda
16
postova
Shot Caller
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
40 / 100 XP
Početnik(0)
114
Postovi:
3
Teme:
Pridružio se:Mar. 2018
24. Mar. 2020.
Jedan kratki tutorial o korištenju memorije i određivanju dužine stringa. Često se desi da najčešće početnici lupaju random brojeve za dužinu stringa neznajući da 1 ćelija uzima 4 bajta što i nije toliki problem ukoliko imate neku manju skriptu. Međutim ukoliko jednog dana postignete određeni uspijeh i ne zatvorite svoj server za 7 dana morat ćete da zadovoljite potrebe igrača i blagovremeno odradite određene update. Naravno vremenom će skripta biti sve veća i ruka će vas sve više bolit dok skrolate kroz skriptu , a memorije će biti sve manje. Zato pogledajte kako jednostavno i efikasno koristiti dragocijenu memoriju.
static const str[] = "UPDATE `gps` SET `gIme` = '%e' WHERE `gID` = %d";
new query[sizeof(str) + 12 + 3];
mysql_format(Database, query, sizeof(query), str , GI, GI);
Sada idemo liniju po liniju. 🙂
static const str[] = "UPDATE `gps` SET `gIme` = '%s' WHERE `gID` = %d"; Ukoliko ste početnik vjerovatno vam je odma za oko zapalo ovo static i const međutim to nije teško za shvatiti.
Static - označava da je varijabla dostupna jedino unutar ovog fajla i da je praktički nemoguće iskoristiti unutar drugog fajla (npr. include)
Const - ikao većina vas zna ali eto opet da pojasnim. Const označava da je varijabla konstanta i da se neće mijenjati nikako ( najčešće slučajno )
U ovom stringu nismo odredili tačnu veličinu što znači da će dužina biti tačno onoliko koliko karaktera ima + \0
Static - označava da je varijabla dostupna jedino unutar ovog fajla i da je praktički nemoguće iskoristiti unutar drugog fajla (npr. include)
Const - ikao većina vas zna ali eto opet da pojasnim. Const označava da je varijabla konstanta i da se neće mijenjati nikako ( najčešće slučajno )
U ovom stringu nismo odredili tačnu veličinu što znači da će dužina biti tačno onoliko koliko karaktera ima + \0
new query[sizeof(str) + 12 + 2];Ovdje deklarišemo novu varijablu po imenu query i njen tip je string. I dajemo joj duzinu od velicine prije definisanog "str" stringa + 12 što predstavlja maximalan broj karaktera varijable gIme + 3 što predstavlja dužinu gID-a. Važno je reći da dužina stringa mora biti konstanta i zato smo ranije deklarisanu varijablu "str" deklarisali kao konstantu. I s ovim smo najefikasnije iskoristili našu memoriju.
mysql_format(Database, query, sizeof(query), str , GI, GI);I ovdje smo jednostavno iskoristili string. Ovo je ujedno i primjer kako formatirati novi string. Nadam se da vam je ovo makar malo pomoglo i da vam je jasno. Potrudio sam se da što jednostavnije pojasnim i da ne komplikujem više nego što je potrebno.
Shot Caller
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
40 / 100 XP
Početnik(0)
114
Postovi:
3
Teme:
Pridružio se:Mar. 2018
8. Apr. 2020.
over wrote on April 8, 2020, 4:26 pm:
Posoji 100 efikasnijih nacina, ali okej.
Jedini efikasnijih nacina je dodati -2 za svaki parametar i koristiti character counter i tako odrediti tacnu duzinu. Zaista bih volio cuti ostalih 98 🙂
Shot Caller
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
40 / 100 XP
Početnik(0)
117
Postovi:
2
Teme:
Pridružio se:Feb. 2020
Shot Caller
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
40 / 100 XP
Početnik(0)
114
Postovi:
3
Teme:
Pridružio se:Mar. 2018
8. Apr. 2020.
algorhitmically wrote on April 8, 2020, 6:23 pm:
Ili jednostavno koristiti dinamicne stringove.
Da, hvala na savjetu. Svakako da je efikasnije jer je plugin, jos efikasnije bi bilo pakovanje stringova ali kao sto naslov kaze radi se samo o odredjivanju duzine stringa kroz sam "vanilla" pawno.
Underboss
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
731
Postovi:
29
Teme:
Pridružio se:Nov. 2016
8. Apr. 2020.
Svaki malo bolji code editor ima ugradjenu opciju u sebi za racunanje ukupnog broja selektovanih karaktera.
Ne vidim potrebu pisanja ovoga.
Ne vidim potrebu pisanja ovoga.
Shot Caller
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
40 / 100 XP
Početnik(0)
114
Postovi:
3
Teme:
Pridružio se:Mar. 2018
8. Apr. 2020.
Terza Lazarevic wrote on April 8, 2020, 8:11 pm:
Svaki malo bolji code editor ima ugradjenu opciju u sebi za racunanje ukupnog broja selektovanih karaktera.
Ne vidim potrebu pisanja ovoga.
Ne vidim potrebu pisanja ovoga.
5% ljudi na ovom forumu koriste IDE , a 95% obicni pawno editor tako da ne vidim potrebu za tvojim komentarom. Cilj mog posta je da pojasnim ljudima kako efikasno odrediti duzinu stringa, a ne koji IDE da koriste. 🙂
Made Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
232 / 250 XP
Početnik(7)
392
Postovi:
29
Teme:
Pridružio se:Jan. 2015
8. Apr. 2020.
Dzaba njima ovaj tutorijal kad pojedini "skripteri" ne znaju koristiti. Cast izuzecima, ima na ovom forumu i dobrih skriptera.Tebi hvala sto si odvojio vrijeme za ovaj tut. moze nekom pomoci.
Pikaboot je besplatna, open-source platforma za strimovanje muzike. Bez reklama, bez zaključanih funkcija i bez kompromisa sa kvalitetom zvuka ( 24-bit FLAC ).
Shot Caller
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
40 / 100 XP
Početnik(0)
114
Postovi:
3
Teme:
Pridružio se:Mar. 2018
8. Apr. 2020.
M Ө M Σ N Z I wrote on April 8, 2020, 8:36 pm:
Dzaba njima ovaj tutorijal kad pojedini "skripteri" ne znaju koristiti. Cast izuzecima, ima na ovom forumu i dobrih skriptera.Tebi hvala sto si odvojio vrijeme za ovaj tut. moze nekom pomoci.
Nekome ko je usao da nauci nesto sigurno hoce za razliku od onih koji su dosli da prosipaju muda sa offtopic komentarima.
Made Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
232 / 250 XP
Početnik(7)
392
Postovi:
29
Teme:
Pridružio se:Jan. 2015
8. Apr. 2020.
TarikBrt wrote on April 8, 2020, 8:39 pm:
Nekome ko je usao da nauci nesto sigurno hoce za razliku od onih koji su dosli da prosipaju muda sa offtopic komentarima.
Slazem se s tobom, ali nemoj se opet svadjati, ako imate nesto zavrsite privatno da vas moderatori ne bi dzaba kaznjavali i tjt
Pikaboot je besplatna, open-source platforma za strimovanje muzike. Bez reklama, bez zaključanih funkcija i bez kompromisa sa kvalitetom zvuka ( 24-bit FLAC ).
Hustler
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
25 / 100 XP
Početnik(0)
80
Postovi:
0
Teme:
Pridružio se:Mar. 2020
9. Apr. 2020.
TarikBrt wrote on April 8, 2020, 8:27 pm:
5% ljudi na ovom forumu koriste IDE , a 95% obicni pawno editor tako da ne vidim potrebu za tvojim komentarom. Cilj mog posta je da pojasnim ljudima kako efikasno odrediti duzinu stringa, a ne koji IDE da koriste. 🙂
Polako, precice na ST3, VSC etc za nekih 20 godina 😉
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava

