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]).
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.PHP код:
int main (int argc, char *argv[])
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.Quote:
script -q
Antes de qualquer coisa, vale lembrar que alguns dos parвmetros podem ser manuseados pelo preprocessor, utilizando a diretiva #pragma.
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.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
Й 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.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
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.Quote:
-w203
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. |
Quando vi o tнtulo pensei que ias falar dos argumentos do tipo de compilaзгo.
Parabйns bom trabalho. |
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.
|
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. |
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.
|