InglêsFrancêsEspanhol

Ad


favicon do OnWorks

frama-c-gui - Online na nuvem

Execute frama-c-gui no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando frama-c-gui 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 Windows ou emulador online MAC OS

PROGRAMA:

NOME


frama-c [.byte] - um analisador estático para programas C

frama-c-gui [.byte] - a interface gráfica de frama-c

SINOPSE


quadro-c [ opções ] arquivos

DESCRIÇÃO


quadro-c é um conjunto de ferramentas dedicadas à análise de código-fonte escrito em C.
reúne várias técnicas de análise estática em uma única estrutura colaborativa. Esse
framework pode ser estendido por plug-ins adicionais colocados no $ FRAMAC_PLUGIN diretório.
O comando

quadro-c -ajuda

fornecerá a lista completa dos plug-ins atualmente instalados.

quadro-c-gui é a interface gráfica do usuário de quadro-c. Possui as mesmas opções que
a versão da linha de comando.

quadro-c.byte e frama-c-gui.byte são as versões ocaml bytecode da linha de comando e
interface gráfica do usuário, respectivamente.

Por padrão, o Frama-C reconhece .c arquivos como arquivos C que precisam de pré-processamento e .i arquivos como
Arquivos C já pré-processados. Alguns plug-ins podem estender a lista de reconhecidos
arquivos. O pré-processamento pode ser personalizado por meio do -comando-cpp e -cpp-extra-args
opções.

OPÇÕES


Sintaxe

As opções com um parâmetro adicional também podem ser escritas no formulário

-opção=param

Esta opção é obrigatória quando param começa com um travessão ('-')

A maioria das opções que não levam nenhum parâmetro tem um correspondente

-não-Opção

opção que tem o efeito oposto.

Ajuda opções

-Socorro fornece um breve aviso de uso e a lista de plug-ins instalados.

-kernel-ajuda
imprime a lista de opções reconhecidas pelo kernel do Frama-C

-verboso n
Define o nível de detalhamento (o padrão é 1). Configurá-lo como 0 resultará em menos progresso
mensagens. Este nível também pode ser definido por plug-in base, com opção -plug-in-
detalhado n. O nível de verbosidade do kernel pode ser controlado com a opção
-kernel-detalhado n.

-depurar n
Define o nível de depuração (o padrão é 0, o que significa que não há mensagens de depuração). Esta opção
tem as mesmas especializações por plugin (e kernel) que -verboso.

-quieto Define o detalhamento e o nível de depuração como 0.

Opções controle Frama-C's núcleo

-faixa-válida-absoluta
considera que todos os endereços numéricos no intervalo mínimo máximo é válido. Limites são
analisado como constantes inteiras ocaml. Por padrão, todos os endereços numéricos são
considerado inválido.

-adicionar-caminho p1 [, p2 [..., pn]]
adiciona diretórios NFT`s à lista de diretórios em que os plug-ins são
procurado

[-não] -permitir-duplicação
permite a duplicação de pequenos blocos durante a normalização de testes e loops.
Caso contrário, a normalização usa rótulos e gotos. Blocos maiores e blocos com
o fluxo de controle trivial nunca é duplicado. O padrão é sim.

[-não] -não
lê a anotação ACSL. Este é o padrão. As anotações não são pré-processadas por
predefinição. Usar -pp-annot por isso.

-big-ints-hex max
inteiros maiores que max são exibidos em hexadecimal (por padrão, todos os inteiros são
exibido em decimal)

-Verifica executa verificações de integridade no AST interno (apenas para desenvolvedores).

[-não] -collapse-call-cast
permite conversão implícita entre o valor retornado por uma função e o lvalue que é
atribuído a. Caso contrário, uma variável temporária é usada e o elenco é tornado explícito.
O padrão é sim.

[-não] -constfold
dobra todas as expressões sintaticamente constantes no código antes das análises. Padrões
para não.

[-não] -continue-annot-error
Ao analisar uma anotação, o comportamento padrão (o -não versão desta opção)
quando ocorre um erro de verificação de tipo é rejeitar o arquivo de origem, como é o caso de
erros de verificação de tipo no código C. Com esta opção ativada, o typechecker irá
apenas exibe um aviso e descarta a anotação, mas a verificação de tipo continuará
(erros no código C ainda são fatais, no entanto).

-comando-cpp cmd
Uso cmd como o comando para pré-processar arquivos C. Padrões para o CPP meio Ambiente
variável ou para

gcc-C-E-I.

se não estiver definido. Para preservar as anotações ACSL, o pré-processador deve manter
comentários (o -C opção para gcc). %1 e %2 pode ser usado em cmd para denotar o
arquivo de origem original e o arquivo pré-processado, respectivamente

-cpp-extra-args args
Fornece argumentos adicionais ao pré-processador. Isso só é útil quando
-pré-processar-annot está definido. O pré-processamento de anotações é feito em dois pré-
estágios de processamento. O primeiro é uma passagem normal no código C que retém macro
definições. Estes são então usados ​​na segunda passagem durante a qual as anotações são
pré-processado. args são usados ​​apenas para a primeira passagem, de modo que os argumentos que
não deve ser usado duas vezes (como diretivas de inclusão adicionais ou macro
definições) deve, portanto, ir para lá em vez de -comando-cpp.

[-não] -dynlink
Quando ligado, carregue todos os plug-ins dinâmicos encontrados no caminho de pesquisa (consulte -plugin de impressão-
caminho para obter mais informações sobre o caminho de pesquisa padrão). Caso contrário, apenas plug-ins
Requerido por -carregar módulos será carregado. O comportamento padrão é ativado.

-enums representante
Escolha a forma como a representação dos tipos enumerados é determinada. quadro-c
-enums ajudar fornece a lista de opções disponíveis. O padrão é enums gcc

-dígitos flutuantes n
Ao enviar números de ponto flutuante, exiba n dígitos. O padrão é 12.

-float-flush-to-zero
Operações de ponto flutuante niveladas a zero

-float-hex
exibir flutua como hexadecimal

-flutuante-normal
exibir flutua com rotina Ocaml padrão

-float-relativo
exibir intervalo de flutuação como [ inferior_bound++largura ]

[-no] -force-rl-arg-eval
força a ordem de avaliação da direita para a esquerda para argumentos de chamadas de função. De outra forma
a ordem de avaliação não é especificada, como no padrão C. O padrão é não.

-desativar diário
Não produza um diário da sessão atual. Ver -ativar diário.

-ativar diário
Ativado por padrão, despeja um diário de todas as ações realizadas durante o
Sessão Frama-C na forma de um script ocaml que pode ser reproduzido com -carga-
escrita. O nome do script pode ser definido com o -nome do jornal opção.

-nome do jornal nome
Defina o nome do arquivo de diário (sem o ml extensão). Padrões para
frama_c_journal.

-initialized-padding-locais
A inicialização implícita de locais define os bits de preenchimento como 0. Se for falso, os bits de preenchimento
não são inicializados (o padrão é sim).

[-não] -manter-comentários
Tenta preservar os comentários ao imprimir o código-fonte (o padrão é não).

[-não] -manter-interruptor
Quando -simplifique-cfg é definido, mantém as instruções switch. O padrão é não.

-manter funções-especificadas não utilizadas
See -remove-funções-especificadas não utilizadas

[-não] -lib-entrada
Indica que o ponto de entrada é chamado durante a execução do programa. Isso implica em
em particular, que as variáveis ​​globais não podem ter seus valores iniciais.
O padrão é -no-lib-entrada: o ponto de entrada é também o ponto de partida do
programa e globais têm seu valor inicial.

-carga lima
carregar o estado (salvo anteriormente) contido em lima.

-carregar-módulo m1 [, m2 [..., mn]]
carrega os módulos ocaml NFT`s . Esses módulos devem ser .cmxsarquivos para o
versão de código nativo do Frama-c e .cmoor.cmaarquivos para a versão do bytecode (ver
a seção Dynlink do manual Ocaml para mais informações). Todos os módulos que são
presentes nos caminhos de pesquisa do plugin são carregados automaticamente.

-carregar-script s1 [, s2, [..., sn]]
carrega os scripts ocaml NFT`s . Os scripts devem ser mlarquivos. Elas
deve ser compilável baseando-se apenas na biblioteca padrão Ocaml e API do Frama-C. Se
alguma etapa de compilação personalizada é necessária, compile-os fora do Frama-C e use
-carregar-módulo ao invés.

-machdep máquina
usos máquina como a configuração atual dependente da máquina (tamanho dos vários
tipos inteiros, endiandness, ...). A lista de máquinas atualmente suportadas é
disponível através -machdep ajudar opção. O padrão é x86_32

-a Principal f
Conjuntos f como o ponto de entrada da análise. O padrão é 'principal'. Por padrão, é
considerado como o ponto de partida do programa em análise. Usar -lib-entrada if f
deve ser chamado no meio de uma execução.

-ofuscar
imprime uma versão ofuscada do código (onde os identificadores originais são substituídos
por um sem sentido) e sai. A tabela de correspondência entre o original e o novo
os símbolos são mantidos no início do resultado.

-ocódigo lima
redireciona o código bem impresso para lima em vez de saída padrão.

[-não] -orig-name
Durante a fase de normalização, algumas variáveis ​​podem ser renomeadas quando diferentes
variável com o mesmo nome pode coexistir (por exemplo, uma variável global e um formal
parâmetro). Quando essa opção está ativada, uma mensagem é impressa sempre que isso ocorre.
O padrão é não.

[-não] -warn-assinado-downcast
gerar alarmes quando downcasts assinados podem exceder a faixa de destino (padrão para
não).

[-não] -warn-signed-overflow
gerar alarmes para operações assinadas que transbordam (o padrão é sim).

[-não] -warn-unsigned-downcast
gerar alarmes quando downcasts não sinalizados podem exceder a faixa de destino (padrão
para não).

[-não] -warn-unsigned-overflow
gerar alarmes para operações não assinadas que transbordam (padrão para não).

[-não] -pp-annot
anotações de pré-processamento. No momento, isso só é possível ao usar o gcc (ou GNU
cpp) pré-processador. O padrão é não pré-processar as anotações.

[-não] -impressão
imprime bonito o código-fonte normalizado pelo CIL (o padrão é não).

-print-libpath
mostra o diretório onde a biblioteca do kernel Frama-C está instalada

-caminho de impressão
apelido de -caminho de compartilhamento de impressão

-caminho do plugin de impressão
gera o diretório onde o Frama-C procura seus plug-ins (pode ser substituído pelo
FRAMAC_PLUGIN variável e o -adicionar-caminho opção)

-caminho de compartilhamento de impressão
gera o diretório onde o Frama-C armazena seus dados (pode ser substituído pelo
FRAMAC_SHARE variável)

-remove-funções-especificadas não utilizadas
mantém protótipos de função que têm uma especificação ACSL, mas não são usados ​​no
código. Este é o padrão. Funções com o atributo FRAMAC_BUILTIN são sempre
mantido.

-matrizes seguras
Para matrizes multidimensionais ou matrizes que são campos dentro de structs, assume que
todos os acessos devem estar vinculados (definido por padrão). A opção oposta é -inseguro-
matrizes

-Salve  lima
Salva o estado de Frama-C em lima após as análises terem ocorrido.

[-não] -simplificar-cfg
remove break, continue e switch statement antes das análises. O padrão é não.

-então permite compor análises: uma primeira execução do Frama-C ocorrerá com as opções
antes -então e uma segunda execução será feita com as opções após -então na
projeto atual desde a primeira execução.

-em seguida prj
Semelhante a -então exceto que a segunda execução é realizada no projeto prj Se não houver tal
projeto existe, o Frama-C sai com um erro.

-Tempo lima
acrescenta a hora e a data do usuário no dado lima quando o Frama-C sai.

-typecheck
força a verificação de tipos dos arquivos de origem. Esta opção só é relevante se não houver mais
a análise é solicitada (como a verificação de tipos ocorrerá implicitamente antes da análise
é lançado).

-ulevel n
desenrolar sintaticamente os loops n vezes antes da análise. Isso pode ser bastante caro
e alguns plug-ins (por exemplo, a análise de valor) fornecem maneiras mais eficientes de realizar
a mesma coisa. Consulte seus respectivos manuais para obter mais informações. Isso também pode
ser ativado em uma base por loop por meio do laço pragma desenrolar diretiva. UMA
valor negativo para n irá inibir tais pragmas.

[-não] -unicode
produz fórmulas ACSL com caracteres utf8. Este é o padrão. Quando dado o
-não-unicode opção, Frama-C usará a versão ASCII em seu lugar. Veja o manual ACSL
para a correspondência.

-matrizes inseguras
Vejo -matrizes seguras

[-não] -não-especificado-acesso
verifica se os acessos de leitura / gravação ocorrendo em ordem não especificada (de acordo com o C
noção padrão de ponto de sequência) são executados em locais separados. Com
-não-não-especificado-acesso, pressupõe que seja sempre o caso (este é o padrão).

-versão
produz a string de versão do Frama-C

-aviso-decimal-float
avisa quando uma constante de ponto flutuante não pode ser representada exatamente (por exemplo, 0.1).
pode ser um de Nenhum, uma vezou todos os

[-não] -warn-undeclared-callee
avisa quando uma função é chamada antes de ser declarada (definida por padrão).
Quadro-C

Plugins específico opções

Para cada plug-in, o comando

quadro-c -plug-in-Socorro

apresentará a lista de opções específicas do plugin.

SAIR STATUS


0 Execução bem sucedida

1 Entrada de usuário inválida

2 Interrupção do usuário (kill ou equivalente)

3 Recurso não implementado

4 5 6 Erro interno

125 Erro desconhecido

O status de saída maior que 2 pode ser considerado um bug (ou uma solicitação de recurso para o caso
do status de saída 3) e pode ser relatado no BTS do Frama-C (veja abaixo).

MEIO AMBIENTE VARIÁVEIS


É possível controlar os locais onde o Frama-C procura seus arquivos através do
seguintes variáveis.

FRAMAC_LIB
O diretório onde as interfaces compiladas do kernel estão instaladas

FRAMAC_PLUGIN
O diretório onde o Frama-C pode encontrar plug-ins padrão. Se você deseja ter plugins
em vários lugares, use -adicionar-caminho ao invés.

FRAMAC_SHARE
O diretório onde os dados do Frama-C estão instalados.

Use frama-c-gui online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

  • 1
    Phaser
    Phaser
    Phaser é um aplicativo rápido, gratuito e divertido
    framework de jogo HTML5 de origem que oferece
    Renderização WebGL e Canvas em
    navegadores da web para desktop e celular. Jogos
    pode ser co ...
    Baixar Phaser
  • 2
    Motor VASSAL
    Motor VASSAL
    VASSAL é um motor de jogo para criar
    versões eletrônicas do tabuleiro tradicional
    e jogos de cartas. Ele fornece suporte para
    renderização e interação de peças do jogo,
    e ...
    Baixar VASSAL Engine
  • 3
    OpenPDF - Fork do iText
    OpenPDF - Fork do iText
    OpenPDF é uma biblioteca Java para criar
    e edição de arquivos PDF com LGPL e
    Licença de código aberto MPL. OpenPDF é o
    LGPL/MPL sucessor de código aberto do iText,
    um ...
    Baixar OpenPDF - Bifurcação do iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Sistema para Automatizado
    Análises geocientíficas - é um geográfico
    Software de Sistema de Informação (GIS) com
    imensas capacidades para geodados
    processando e ana ...
    Baixar SAGA GIS
  • 5
    Caixa de ferramentas para Java / JTOpen
    Caixa de ferramentas para Java / JTOpen
    O IBM Toolbox for Java / JTOpen é um
    biblioteca de classes Java suportando o
    programação cliente/servidor e internet
    modelos para um sistema rodando OS/400,
    i5/OS, ou...
    Baixar Toolbox para Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (ou D3 para documentos baseados em dados)
    é uma biblioteca JavaScript que permite
    para produzir dados dinâmicos e interativos
    visualizações em navegadores da web. Com D3
    você...
    Baixar D3.js
  • Mais "

Comandos Linux

  • 1
    Abidiff
    Abidiff
    abidiff - comparar ABIs de arquivos ELF
    abidiff compara o aplicativo binário
    Interfaces (ABI) de duas bibliotecas compartilhadas
    em formato ELF. Ele emite um significativo
    relatorio ...
    Executar abidiff
  • 2
    abidw
    abidw
    abidw - serializar o ABI de um ELF
    arquivo abidw lê uma biblioteca compartilhada em ELF
    formato e emite uma representação XML
    de seu ABI para a saída padrão. O
    emitido ...
    Execute abidw
  • 3
    copac2xml
    copac2xml
    bibutils - conversão de bibliografia
    Serviços de utilidade pública ...
    Execute copac2xml
  • 4
    copta
    copta
    copt - otimizador de olho mágico SYSNOPIS:
    copt.. DESCRIÇÃO: copt é um
    otimizador de olho mágico de uso geral. Isto
    lê o código de sua entrada padrão e
    escreve um...
    Executar copia
  • 5
    collect_stx_titles
    collect_stx_titles
    collect_stx_titles - reunir título
    declarações de documentos Stx ...
    Executar collect_stx_titles
  • 6
    banco giratório
    banco giratório
    bancada - benchmark http ...
    Executar gatling-bench
  • Mais "

Ad