[Tutorial] Argumentos - Pawncc
#1

Olб pessoal, faz bastante tempo que jб nгo contribuo aqui dessa forma. O membro DayvisonJJB me contatou no IRC pedindo-me para retirar-le uma dъvida, a qual estб presente neste tуpico.

Eu iria escrever uma pequena postagem no prуprio tуpico, porйm com recomendaзгo do mesmo, optei por criar um tуpico novo aqui na бrea de lanзamentos, pois pode ser ъtil a futuras dъvidas.

Indo direto ao assunto...
  • O que sгo esses argumentos?
Todo compilador(nгo confundir com interpretador) conta com uma forma de interaзгo com o mesmo, a fim de desencadear mudanзas ou alteraзхes na compilaзгo. A vulgo modo de dizer, й uma forma de se conversar com o compilador.

Estes sгo passados nas configuraзхes de sua IDE(Infernus Pawn nesse caso):


Saindo um pouco do foco do artigo, argumentos em C++ sгo utilizados e tratados no entry point(main [tambйm presente no Pawn, porйm sem a possibilidade de argumentos]).

PHP код:
int main (int argcchar *argv[]) 
Se compilarmos um executбvel com essa estrutura, e fizйssemos chamada a ele pelo terminal / prompt de comando, podemos passar parвmetros, e trata-los no cуdigo.

Quote:

script -q

Isso indica que passaremos o argumento q. O parвmetro argc indica a quantidade de parвmetros passados, e argv й um vetor com esses parвmetros. Й assim que dгo entrada a criaзгo de compiladores.
  • Quais sгo os argumentos do pawn-compiler(pawncc)?
Antes de qualquer coisa, vale lembrar que alguns dos parвmetros podem ser manuseados pelo preprocessor, utilizando a diretiva #pragma.


Quote:

Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

Usage: pawncc <filename> [filename...] [options]

Options:
-A<num> alignment in bytes of the data segment and the stack
-a output assembler code
-C[+/-] compact encoding for output file (default=+)
-c<name> codepage name or number; e.g. 1252 for Windows Latin-1
-Dpath active directory path
-d<num> debugging level (default=-d1)
0 no symbolic information, no run-time checks
1 run-time checks, no symbolic information
2 full debug information and dynamic checking
3 same as -d2, but implies -O0
-e<name> set name of error file (quiet compile)
-H<hwnd> window handle to send a notification message on finish
-i<name> path for include files
-l create list file (preprocess only)
-o<name> set base name of (P-code) output file
-O<num> optimization level (default=-O1)
0 no optimization
1 JIT-compatible optimizations only
2 full optimizations
-p<name> set name of "prefix" file
-r[name] write cross reference report to console or to specified file
-S<num> stack/heap size in cells (default=4096)
-s<num> skip lines from the input file
-t<num> TAB indent size (in character positions, default=8 )
-v<num> verbosity level; 0=quiet, 1=normal, 2=verbose (default=1)
-w<num> disable a specific warning by its number
-X<num> abstract machine size limit in bytes
-XD<num> abstract machine data/stack size limit in bytes
-\ use '\' for escape characters
-^ use '^' for escape characters
-;[+/-] require a semicolon to end each statement (default=-)
-([+/-] require parantheses for function invocation (default=-)
sym=val define constant "sym" with value "val"
sym= define constant "sym" with value 0

Basicamente o intuito do tutorial й mostrar o que sгo os argumentos, e nгo como manusea-los, atй porque isso fica por conta da IDE, o que julgo ser o caso de todos aqui. Mas de qualquer forma, tenham cuidado com os parвmetros que vгo passar ao compilador.
  • Nгo vai falar de nenhum argumento em especнfico?
Apesar de nгo ser o intuito, para nгo ficar muito vago, falarei sobre o argumento -w.

Como a prуpria descriзгo dada acima nos revela, ele desativa um aviso do compilador, passando o nъmero de tal(apenas avisos, nгo erros!).

Utilizaremos o aviso de nъmero 203, para fixar. O mesmo aponta para: symbol is never used
Quote:

-w203

Passando esse parвmetro ao compilador, ele irб ignorar esse warning, ou seja, nгo ira mostra-lo no output do compilador. Lembrando que tive problemas com o Pawno em relaзгo a esses argumentos, entгo recomendo fortemente que nгo o utilizem. Podem optar por Infernus Pawn, Sublime, Notepad++, etc.
Й isso pessoal. Como foi citado acima, eu escrevi em cima de o que sгo os argumentos, e nгo como manuseб-los. Ensinar a manuseб-los seria ъtil para quem compila em linha de comando, o que julgo nгo ser o caso da maioria aqui, tendo em vista que a maioria utiliza-se de um IDE para a programaзгo, o que julgo ser o correto no caso.

Estarei a disposiзгo para qualquer dъvida a respeito de compiladores, podendo ser feita pelo tуpico ou por mensagem privada, caso a mesma nгo se relacione com o Pawn.


Um abraзo a todos. Atй mais.
Reply
#2

I Like this <)
Reply
#3

Й possivel fazer o pawncc ignorar algum erro/warning ?
Reply
#4

Quote:
Originally Posted by RiqueP
Посмотреть сообщение
Й possivel fazer o pawncc ignorar algum erro/warning ?
Foi o que ele disse:
Quote:

Apesar de nгo ser o intuito, para nгo ficar muito vago, falarei sobre o argumento -w.

Como a prуpria descriзгo dada acima nos revela, ele desativa um aviso do compilador, passando o nъmero de tal(apenas avisos, nгo erros!).

Utilizaremos o aviso de nъmero 203, para fixar. O mesmo aponta para: symbol is never used
Quote:
-w 203
Passando esse parвmetro ao compilador, ele irб ignorar esse warning, ou seja, nгo ira mostra-lo no output do compilador. De padrгo, o Pawno adota esse parвmetro, inibindo o erro 203.

Reply
#5

Muito bom.
Reply
#6

Quando vi o tнtulo pensei que ias falar dos argumentos do tipo de compilaзгo.

Parabйns bom trabalho.
Reply
#7

Quote:
Originally Posted by PT
Посмотреть сообщение
Quando vi o tнtulo pensei que ias falar dos argumentos do tipo de compilaзгo.

Parabйns bom trabalho.
Argumentos do tipo de compilaзгo? Esse termo me й estranho.

Quote:
Originally Posted by Dolby
Посмотреть сообщение
Estarei a disposiзгo para qualquer dъvida a respeito de compiladores, podendo ser feita pelo tуpico ou por mensagem privada, caso a mesma nгo se relacione com o Pawn.
----------------------------------

Quote:
Originally Posted by RiqueP
Посмотреть сообщение
Й possivel fazer o pawncc ignorar algum erro/warning ?
Como jб foi citado, warnings sim.
Reply
#8

Quote:
Originally Posted by Dolby
Посмотреть сообщение
Argumentos do tipo de compilaзгo? Esse termo me й estranho.
Nгo sei se й certo esse o nome a aplicar.

Tambem nunca vi na board PT a falarem do assunto.

-Z -d3 tem vбrios.
Reply
#9

Quote:
Originally Posted by PT
Посмотреть сообщение
Nгo sei se й certo esse o nome a aplicar.

Tambem nunca vi na board PT a falarem do assunto.

-Z -d3 tem vбrios.
Foi exatamente sobre isso que falei lollollollollollollollol. 'Cк realmente leu?

Mas como citei...

Quote:
Originally Posted by Dolby
Посмотреть сообщение
Como foi citado acima, eu escrevi em cima de O que sгo os argumentos, e nгo como manuseб-los. Ensinar a manuseб-los seria ъtil para quem compila em linha de comando, o que julgo nгo ser o caso da maioria aqui, tendo em vista que a maioria utiliza-se de um IDE para a programaзгo, o que julgo ser o correto no caso.
Reply
#10

Boa explicaзгo Dolby, isto serve para o pessoal que quer entrar no deep side da programaзгo, realmente ъtil!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)