Jump to content

návod Modifikátory funkcí a proměnných [***]


vEnd

Recommended Posts

  • 8 months later...

 

 

V čem to tedy je? Když u proměnné/funkce použijeme stock, říkáme tím kompilátoru, že se daná proměnná/funkce nemá zkompilovat do AMX verze, pokud jsme ji nikde nepoužili.

To som si tky myslel, ale som to otestoval práve a ukázalo sa, že ani stock ani obyčajná funkcia (ani premenné) sa neskompilujú ak ich nepoužiješ.
Akurát obyčajná premenná ti hodí warning, že je nepoužitá, kdežto stock potichu zmizne.
  • Líbí se mi to! (+1) 2
Link to comment
Share on other sites

  • Hlavní moderátor

To som si tky myslel, ale som to otestoval práve a ukázalo sa, že ani stock ani obyčajná funkcia (ani premenné) sa neskompilujú ak ich nepoužiješ.

Akurát obyčajná premenná ti hodí warning, že je nepoužitá, kdežto stock potichu zmizne.

Jop, to je pravda.

Link to comment
Share on other sites

Podľa mňa veľmi poučný návod, úprimne, mnoho z toho som nevedel :d

 

Ak správne chápem, tak keď použijem napr. dcmd (alebo zcmd) a premennú params ovplivním stock-om, tak mi nebude hlásiť chybu ak ju nepoužijem?

COMMAND:mycommand(playerid, stock params[])
{
 
  return 1; 
}

Alebo sa mýlim?

Link to comment
Share on other sites

  • Hlavní moderátor

Podľa mňa veľmi poučný návod, úprimne, mnoho z toho som nevedel icon_e_biggrin.gif

 

Ak správne chápem, tak keď použijem napr. dcmd (alebo zcmd) a premennú params ovplivním stock-om, tak mi nebude hlásiť chybu ak ju nepoužijem?

COMMAND:mycommand(playerid, stock params[])
{
 
  return 1; 
}

Alebo sa mýlim?

Nezkoušel jsem to, každopádně si myslím, že takhle to fungovat nebude. U parametrů funguje modifikátor const, ale o stocku pochybuji. Každopádně lze to užít u funkce (známe) a proměnné:


stock var;

//nikde ji nepoužiji, varování se neobjeví
Link to comment
Share on other sites

Podľa mňa veľmi poučný návod, úprimne, mnoho z toho som nevedel icon_e_biggrin.gif

 

Ak správne chápem, tak keď použijem napr. dcmd (alebo zcmd) a premennú params ovplivním stock-om, tak mi nebude hlásiť chybu ak ju nepoužijem?

COMMAND:mycommand(playerid, stock params[])
{
 
  return 1; 
}

Alebo sa mýlim?

Ak sa chceš vyhnúť

#pragma unused params

za každú cenu, môžeš to ešte skombinovať s variabilnym počtom parametrov (tu).

Tam ti nebude hlásiť, že si niečo z toho nepoužil.

:kappa:

Link to comment
Share on other sites

 

Nezkoušel jsem to, každopádně si myslím, že takhle to fungovat nebude. U parametrů funguje modifikátor const, ale o stocku pochybuji. Každopádně lze to užít u funkce (známe) a proměnné:


stock var;

//nikde ji nepoužiji, varování se neobjeví

 

Nedalo mi to a tak som to vyskúšal. Nejde to tak použiť icon_e_sad.gif

 

 

Ak sa chceš vyhnúť

#pragma unused params

za každú cenu, môžeš to ešte skombinovať s variabilnym počtom parametrov (tu).

Tam ti nebude hlásiť, že si niečo z toho nepoužil.

kappa.png

Áno, to viem, len ma tak napadla tamtá vec po prečítaní toho článku

Ak sa chceš vyhnúť

#pragma unused params

za každú cenu, môžeš to ešte skombinovať s variabilnym počtom parametrov (tu).

Tam ti nebude hlásiť, že si niečo z toho nepoužil.

kappa.png

 
Edited by Quiter
  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

  • 3 weeks later...

Jen poznamka k tomu stock. Ano compilator nevyhodi hlasku ze jsi to nepouzil a zaroven to danou funkci/promenou nezahrne do kompilovaneho kodu amx (tedy zmensi celkovou velikost vysledneho strojoveho kodu)

Edited by ATomas
Link to comment
Share on other sites

  • Hlavní moderátor

Jen poznamka k tomu stock. Ano compilator nevyhodi hlasku ze jsi to nepouzil a zaroven to danou funkci/promenou nezahrne do kompilovaneho kodu amx (tedy zmensi celkovou velikost vysledneho strojoveho kodu)

 

To som si tky myslel, ale som to otestoval práve a ukázalo sa, že ani stock ani obyčajná funkcia (ani premenné) sa neskompilujú ak ich nepoužiješ.

Akurát obyčajná premenná ti hodí warning, že je nepoužitá, kdežto stock potichu zmizne.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...