GoGPT Best VPN GoSearch

favicon do OnWorks

esparso - Online na nuvem

Execute sparse no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando esparso que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

PROGRAMA:

NOME


esparso - Analisador Semântico para C

SINOPSE


escasso [ATENÇÃO OPÇÕES] ... arquivo.c

DESCRIÇÃO


Sparse analisa o código-fonte C e procura erros, produzindo avisos sobre o erro padrão.

Sparse aceita opções que controlam o conjunto de avisos a serem gerados. Para ligar os avisos
Sparse não é emitido por padrão, use a opção de aviso correspondente -Algo.
Sparse emite alguns avisos por padrão; para desligar esses avisos, passe a negação de
a opção de aviso associada, -Sem algo.

ATENÇÃO OPÇÕES


-Wsparse-tudo
Ative todos os avisos esparsos, exceto aqueles explicitamente desativados via
-Sem algo.

-Waddress-espaço
Avisa sobre o código que mistura ponteiros para diferentes espaços de endereço.

Esparso permite um atributo estendido __attribute __ ((address_space (Números))) on
ponteiros, que designa um alvo de ponteiro no espaço de endereço Números (uma constante
inteiro). Com -Waddress-espaço, Sparse trata ponteiros com tipos de alvo idênticos
mas diferentes espaços de endereço como tipos distintos. Para substituir esse aviso, como
para funções que convertem ponteiros entre espaços de endereço, use um tipo que
inclui __attribute __ ((forçar)).

Sparse emite esses avisos por padrão. Para desligá-los, use -Wno-endereço-espaço.

-Wbit a bit
Avisar sobre operações não suportadas ou incompatibilidades de tipo com tipos inteiros restritos.

Sparse oferece suporte a um atributo estendido, __attribute __ ((bit a bit)), o que cria um
novo tipo inteiro restrito de um tipo inteiro base, distinto da base
tipo inteiro e de qualquer outro tipo inteiro restrito não declarado no mesmo
declaração ou typedef. Por exemplo, isso permite que programas criem typedefs para
tipos inteiros com endianness específico. Com -Wbit a bit, Sparse avisará sobre qualquer
uso de um tipo restrito em operações aritméticas que não sejam operações bit a bit,
e em qualquer conversão de um tipo restrito em outro, exceto por meio de um elenco que
inclui __attribute __ ((forçar)).

__bitwise acaba sendo uma "separação de inteiros mais forte". Aquele não permite que você
para misturar com inteiros não bit a bit, então agora é muito mais difícil perder o tipo por
erro.

__bitwise é para * tipos únicos * que não podem ser misturados com outros tipos, e que
você nunca gostaria de usar apenas como um inteiro aleatório (o inteiro 0 é especial, embora,
e é silenciosamente aceito iirc - é como "NULL" para ponteiros). Então
"gfp_t" ou os tipos "endianness seguro" seriam __bitwise: você só pode operar em
fazendo operações específicas que conhecem * aquele * tipo específico.

Geralmente, você deseja bit a bit se estiver procurando por segurança de tipo. Sparse não
emitir esses avisos por padrão.

-Wcast-to-as
Avisa sobre conversões que adicionam um espaço de endereço a um tipo de ponteiro.

Um elenco que inclui __attribute __ ((forçar)) irá suprimir este aviso.

O Sparse não emite esses avisos por padrão.

-Wcast- truncar
Avisa sobre conversões que truncam valores constantes.

Sparse emite esses avisos por padrão. Para desligá-los, use -Wno-cast-truncar.

-Wcontexto
Avise sobre possíveis erros na sincronização ou outros contextos delimitados.

Sparse oferece suporte a vários meios de designar funções ou instruções que delimitam
contextos, como sincronização. Funções com o atributo extendido
__attribute __ ((contexto (expressão,no contexto,contexto_out)) requer o contexto
expressão (por exemplo, um cadeado) para ter o valor no contexto (uma constante
inteiro não negativo) quando chamado e retorna com o valor contexto_out (uma constante
inteiro não negativo). Para APIs definidas por meio de macros, use o formulário de instrução
__contexto__(expressão,em valor,valor_out) no corpo da macro.

Com -Wcontexto Sparse avisará quando vir uma função alterar o contexto sem
indicando isso com um contexto atributo, seja diminuindo um contexto abaixo de zero
(como liberar um bloqueio sem adquiri-lo) ou retornar com um
contexto (como ao adquirir um bloqueio sem liberá-lo). Sparse também avisa
sobre blocos de código que podem potencialmente ser executados em contextos diferentes.

Sparse emite esses avisos por padrão. Para desligá-los, use -Sem-contexto.

-Wdecl Avisar sobre qualquerestático definição de variável ou função que não tem
declaração.

Símbolos privados (funções e variáveis) internos a um determinado arquivo de origem devem
usar estático, para permitir otimizações adicionais do compilador, permitir a detecção de
símbolos e evitar que outro código dependa desses símbolos internos. Público
os símbolos usados ​​por outros arquivos de origem precisarão de declarações visíveis para os outros
arquivos de origem, como em um arquivo de cabeçalho. Todas as declarações devem se enquadrar em uma das
essas duas categorias. Assim, com -Wdecl, Sparse avisa sobre qualquer definição de símbolo
com nenhum estático nem uma declaração. Para corrigir este aviso, declare privado
símbolos estático, e certifique-se de que os arquivos que definem os símbolos públicos tenham o símbolo
declarações disponíveis primeiro (como incluindo o arquivo de cabeçalho apropriado).

Sparse emite esses avisos por padrão. Para desligá-los, use -Wno-decl.

-Wdeclaração-após-declaração
Avisa sobre declarações que não estão no início de um bloco.

Essas declarações são permitidas em C99, mas não em C89.

Sparse emite estes avisos por omissão apenas quando o dialecto C for C89 (ie -ansi
ou -std = c89). Para desligá-los, use -Wno-declaração-após-declaração.

-Wdefault-bitfield-sinal
Avisa sobre qualquer campo de bits sem sinalização explícita.

Bitfields não têm assinatura padrão especificada por padrão. (C99 6.7.2) Um campo de bits
sem um explícito assinado or não assinado cria um problema de portabilidade para software
que depende do intervalo de valores disponível. Para corrigir isso, especifique o campo de bits
digite como assinado or não assinado explicitamente.

O Sparse não emite esses avisos por padrão.

-Wdesignado-init
Avisar sobre a inicialização posicional de estruturas marcadas como exigindo designada
inicializadores.

Sparse permite um atributo __attribute __ ((design_init)) que marca uma estrutura como
exigindo inicializadores designados. Sparse avisará sobre posicional
inicialização de uma variável de estrutura ou literal de estrutura de um tipo que tem este
atributo.

A exigência de inicializadores designados para um determinado tipo de estrutura isolará o código
usando esse tipo de estrutura a partir de alterações no layout do tipo, evitando a necessidade de
altere os inicializadores para esse tipo, a menos que inicializem um removido ou incompatível
campo alterado.

Exemplos comuns deste tipo de estrutura incluem coleções de ponteiros de função para
as implementações de uma classe de operações relacionadas, para as quais o padrão NULL
para um campo não mencionado em um inicializador designado indicará corretamente o
ausência dessa operação.

Sparse emite esses avisos por padrão. Para desligá-los, use
-Wno-designado-init.

-Wdo-enquanto
Avisa sobre loops do-while que não delimitam o corpo do loop com colchetes.

O Sparse não emite esses avisos por padrão.

-Wenum-incompatibilidade
Avisar sobre o uso de uma expressão incorreta enumerar digite ao inicializar
outra enumerar tipo, atribuindo a outro enumerar digite ou passe um argumento para um
função que espera outra enumerar tipo.

Sparse emite esses avisos por padrão. Para desligá-los, use -Wno-enum-incompatibilidade.

-Winit-cstring
Avisa sobre a inicialização de um array char com uma string C constante muito longa.

Se o tamanho da matriz char e o comprimento da string forem iguais, não há
espaço para o último nul char da string na matriz:

char s [3] = "abc";

Se a matriz for usada como uma matriz de bytes, não como string C, este aviso é apenas ruído.
No entanto, se a matriz for passada para funções que lidam com string C como printf (% s)
e strcmp, pode causar problemas.

O Sparse não emite esses avisos por padrão.

-Wnon-ponteiro-nulo
Avisa sobre o uso de 0 como um ponteiro NULL.

0 tem tipo inteiro. NULL possui um tipo de ponteiro.

Sparse emite esses avisos por padrão. Para desligá-los, use
-Wno-não-ponteiro-nulo.

-Wold-inicializador
Avise sobre o uso da sintaxe pré-C99 GCC para inicializadores designados.

C99 fornece uma sintaxe padrão para campos designados em struct or união
inicializadores:

struct structname var = {.field = value};

O GCC também tem uma sintaxe antiga e não padrão para inicializadores designados que antecede
C99:

struct structname var = {campo: valor};

Sparse avisará sobre o uso da sintaxe não padrão do GCC para
inicializadores. Para corrigir esse aviso, converta os inicializadores designados para usar o
sintaxe C99 padrão.

Sparse emite esses avisos por padrão. Para desligá-los, use
-Wno-old-inicializador.

-Wone-bit-assinado-bitfield
Avisar sobre qualquer bit assinado campos de bits.

Um pouco assinado bitfield só pode ter os valores 0 e -1, ou com alguns compiladores
apenas 0; isso resulta em um comportamento inesperado para programas que esperavam a capacidade
para armazenar 0 e 1.

Sparse emite esses avisos por padrão. Para desligá-los, use
-Wno-one-bit-assinado-bitfield.

-Wparen-string
Avisa sobre o uso de uma string entre parênteses para inicializar um array.

A sintaxe C padrão não permite uma string entre parênteses como um inicializador de array.
O GCC permite essa sintaxe como uma extensão. Com -Wparen-string, Sparse irá avisar
sobre esta sintaxe.

O Sparse não emite esses avisos por padrão.

-Wptr-subtraction-golpes
Avisa ao subtrair dois ponteiros para um tipo com tamanho sem potência de dois.

Subtrair dois indicadores para um determinado tipo dá uma diferença em termos de número
de itens desse tipo. Para gerar esse valor, os compiladores geralmente precisam
dividir a diferença pelo tamanho do tipo, uma operação potencialmente cara
para tamanhos diferentes de potências de dois.

O código escrito usando a subtração de ponteiro pode muitas vezes usar outra abordagem, como
como indexação de matriz com uma variável de índice de matriz explícita, que pode permitir aos compiladores
para gerar um código mais eficiente.

O Sparse não emite esses avisos por padrão.

-Wreturn-void
Avisa se uma função com tipo de retorno void retorna uma expressão void.

O C99 permite isso e, em alguns casos, permite códigos mais genéricos em macros
que usam typeof ou tomam um tipo como argumento de macro. No entanto, alguns programas
considere este estilo pobre, e esses programas podem usar -Wreturn-void para obter avisos
sobre isso.

O Sparse não emite esses avisos por padrão.

-Sombra
Avisar ao declarar um símbolo que sombreia uma declaração com o mesmo nome em um
escopo externo.

Essas declarações podem levar a um código sujeito a erros.

O Sparse não emite esses avisos por padrão.

-Wtransparent-union
Avisar sobre qualquer declaração usando a extensão GCC
__attribute __ ((transparent_union)).

Sparse emite esses avisos por padrão. Para desligá-los, use
-Wno-transparent-união.

-Wtypesign
Avisar ao converter um ponteiro para um tipo inteiro em um ponteiro para um tipo inteiro
com sinalização diferente.

O Sparse não emite esses avisos por padrão.

-Wundef
Avisar sobre condicionais de pré-processador que usam o valor de um undefined
símbolo do pré-processador.

O padrão C (C99 6.10.1) permite usar o valor de um símbolo de pré-processador indefinido
em condicionais de pré-processador e especifica que tem um valor de 0. No entanto,
esse comportamento pode levar a erros sutis.

O Sparse não emite esses avisos por padrão.

MISC OPÇÕES


-gcc-base-dir dir
Procure cabeçalhos de sistema fornecidos pelo compilador em dir/ include / and dir/ include-fixed /.

-multiarch-dir dir
Procure os cabeçalhos do sistema no subdiretório multiarch dir. O dir nome seria
normalmente toma a forma do trio GNU normalizado do alvo. (por exemplo, i386-linux-
gnu).

OUTROS OPÇÕES


-ftabstop = WIDTH
Defina a distância entre as paradas de tabulação. Isso ajuda a coluna correta do relatório esparso
números em avisos ou erros. Se o valor for menor que 1 ou maior que 100,
a opção é ignorada. O padrão é 8.

Use on-line esparso usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

Comandos Linux

Ad




×
Anúncios
❤ ️Compre, reserve ou compre aqui — sem custos, ajuda a manter os serviços gratuitos.