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.
Eu escreveria 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...
Eu escreveria 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 aprender 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 usados e tratados no entry point( main [também estou presente no Pawn, porem sem a possibilidade de argumentos]).
PHP como:
Se compilarmos um executável com essa estrutura, e fizemos uma chamada a ele pelo terminal / prompt de comando , podemos passar parâmetros, e tratá-los no código.
- Código:
int main (int argc, char *argv[])
Citar: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 entra para a criaзгo de compiladores.
script -q
- Quais são os argumentos do Pawn-compiler( pawncc )?
Antes de qualquer coisa, vale lembrar que alguns dos parâmetros podem ser manuseados pelo pré-processador , utilizando a diretiva #pragma .
Citar: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, tenha cuidado com os parâmetros que vão passar ao compilador.
Pawn compiler 3.2.3664 Copyright 1997-2006, ITB CompuPhase
Uso: pawncc[nome do arquivo...] [opções]
Opções:
-Aalinhamento em bytes do segmento de dados e da pilha
-um código montador de saída
-C[+/-] codificação compacta para arquivo de saída (padrão=+)
-cnome ou número da página de códigos; por exemplo, 1252 para Windows Latin-1
-Dpath caminho do diretório ativo
-dnível de depuração (padrão=-d1)
0 sem informações simbólicas, sem verificações de tempo de execução
1 verificações de tempo de execução, sem informações simbólicas
2 informações de depuração completas e dinâmicas verificando
3 igual a -d2, mas implica -O0
-edefinir o nome do arquivo de erro (compilação silenciosa)
-Hidentificador de janela para enviar uma mensagem de notificação ao concluir
-icaminho para incluir arquivos
-l criar arquivo de lista (somente pré-processo)
-odefine o nome base do arquivo de saída (P-code)
-Onível de otimização (padrão=-O1)
0 sem otimização
1 otimizações compatíveis com JIT apenas
2 otimizações completas
-p< nome> definir o nome do arquivo "prefixo"
-r[nome] gravar relatório de referência cruzada no console ou no arquivo especificado
-Stamanho da pilha/heap em células (padrão = 4096)
-signora linhas do arquivo de entrada
-ttamanho do recuo do TAB (em posições de caractere, padrão=8 )
-vnível de verbosidade; 0=silencioso, 1=normal, 2=verbose (padrão=1)
-wdesativa um aviso específico por seu número
-Xlimite de tamanho abstrato da máquina em bytes
-XDdados abstratos da máquina/tamanho da pilha limite em bytes
-\ use '\' para caracteres de escape
-^ use '^' para caracteres de escape
-;[+/-] requer um ponto-e-vírgula para terminar cada instrução (padrão=-)
-([+/-] requer parênteses para chamada de função (padrão=-)
sym=val define a constante "sym" com o valor "
sym= define a constante "sym" com valor 0
- 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!).
Utilizando o aviso de número 203, para fixar. O mesmo aponta para: símbolo nunca é usado
Citar:Passando esse parâmetro ao compilador, ele irá ignorar esse warning, ou seja, não irá mostrá-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.
-w203
Й 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.
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.
Creditos: Dolby