Jump to content

Pawn Directives


Guest RockStar

Recommended Posts

Guest RockStar

Salut.

In acest tutorial va voi prezenta toate directivele folosite in pawno.

Sa incepem..

#assert

- Aceasta directiva verifica daca ceva este adevarat si daca nu opreste compilarea.

#define MOO 10

#assert MOO > 5

Aceasta se va compila fara probleme deoarece este adevarat ( 10 este mai mare ( > ) ca 5 )

#define MOO 1

#assert MOO > 5

Acest exemplu va da eroare deoarece 1 nu este mai mare ( > ) decat 5.

Este similar cu

#define MOO 1

#if MOO <= 5

#error Moo check failed

#endif

In caz ca nu este adevarat assert va da o eroare:

"Assertation failed: 1 > 5"
In cazul al 2-lea asserts va da eroare:
"User error: Moo check failed"


#define

- Aceasta directiva defineste un simbol si oriunde este gasit simbolul define-ului va fi gasit va fii inlocuit.

#define MOO 7

printf( "%d", MOO );

E acelasi lucru cu:

printf( "%d", 7 );

De aceea toate define-urile sunt pierdute in decompilare pentru ca ele nu exista ( toate directivele sunt pre-processor ).

Define-urile nu trebuie sa contina numere.

#define Loop new i = 0; i < MAX_PLAYERS; i++ ) if ( IsPlayerConnected( i )

for ( Loop )

{

printf( "%d connected", i );

}


#else

- #else is like else, dar #if in loc de if


#elseif

- #elseif is like else, dar pentru #if

#define MOO 10

#if MOO == 9

printf("if") ;

#else

#if MOO == 8

printf("else if");

#else

printf("else");

#endif

#endif


#emit

- Acest directiv nu este in tabelul pawn-lang.pdf dar totusi exista. Acest este un inline compiler, daca sti AMX poti folosi asta pentru a pune opcoduri AMX in codul tau.


#endif

- #endif este ca o paranteza inchis pentru #if


#endinput

- Acesta opreste includerea unei singure file. Este folosit pentru a impiedica compilarea include-urilor de 2 ori accidental.

#include "bla.inc"

#include "bla.inc"

bla.inc

#if defined _BLA_INC

#endinput

#endif

#define _BLA_INC


#error

- Acesta opreste compilarea si arata o eroare setat de user.( Uitate la #assert pentru un exemplu )


#file

- Seteaza numele filei. Este o functie inutila.


#if

- Poti alege exact ce vrei sa se compileze si ce nu de aici.

#define LIMIT 10

if ( LIMIT < 10 )

{

printf("Limit too low");

}

Se va compila ca:

if ( 10 < 10 )

{

printf("Limit too low");

}

Am tradus aceste chestii de AICI.

Tutorialul este incomplet, deoarece nu am mai avut chef sa mai tradus, am ramas la #pragma, cine vrea poate continua si voi pune in main post cu credite ;)

SIGNATURE:

[ R.S.F. ] in Development..

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.