GoGPT Best VPN GoSearch

favicon do OnWorks

unifdefall - Online na nuvem

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

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

PROGRAMA:

NOME


unifdef, queda uniforme - remover condicionais de pré-processador do código

SINOPSE


unifdef [-bBcdehKkmnsStV] [-Icaminho] [-[Eu iriasym[=onda]] [- [i] Usym] ... [-f feira da moda] [-x {012}]
[-M texto de fundo] [-o arquivo de saída] [no arquivo ...]
queda uniforme [-Icaminho] ... lima

DESCRIÇÃO


O unifdef utilidade processa seletivamente condicional cpp(1) diretivas. Remove de um
arquivar as diretivas e qualquer texto adicional que eles especificarem devem ser removidos, enquanto
caso contrário, deixe o arquivo sozinho.

O unifdef utilidade atua em #E se, #ifdef, #ifndef, #elif, #else e #fim se linhas, usando
macros especificadas em -D e -U opções de linha de comando ou em -f arquivos de definições. Uma diretiva
é processado se as especificações macro forem suficientes para fornecer um valor definitivo para seu
expressão de controle. Se o resultado for falso, a diretiva e as seguintes linhas sob seu
controle são removidos. Se o resultado for verdadeiro, apenas a diretiva será removida. Um #ifdef or
#ifndef a diretiva é passada inalterada se sua macro de controle não for especificada.
Qualquer #E se or #elif expressão de controle que tem um valor desconhecido ou que unifdef não pode analisar
é passado inalterado. Por padrão, unifdef ignora #E se e #elif linhas com constante
expressões; pode ser dito para processá-los especificando o -k sinalizador na linha de comando.

Ele entende um subconjunto comumente usado da sintaxe da expressão para #E se e #elif linhas:
constantes inteiras, valores inteiros de macros definidas na linha de comando, o definido()
operador, os operadores !, <, >, <=, >=, ==, !=, &&, ||, e expressões entre parênteses. UMA
tipo de avaliação de "curto-circuito" é usado para o && operador: se qualquer operando for
definitivamente falso, então o resultado é falso, mesmo se o valor do outro operando for
desconhecido. Da mesma forma, se qualquer operando de || é definitivamente verdade, então o resultado é verdadeiro.

Ao avaliar uma expressão, unifdef não expande macros primeiro. O valor de uma macro
deve ser um número simples, não uma expressão. Uma forma limitada de indireção é permitida, onde
o valor de uma macro é o nome de outra.

Na maioria dos casos, unifdef não distingue entre macros semelhantes a objetos (sem argumentos)
e macros semelhantes a funções (com argumentos). Uma invocação de macro semelhante a uma função pode aparecer em
#E se e #elif expressões de controle. Se a macro não estiver explicitamente definida ou estiver definida
com o -D sinalizador na linha de comando, ou com #define em uma -f arquivo de definições, é
argumentos são ignorados. Se uma macro for explicitamente indefinida na linha de comando com o -U
bandeira, ou com #undef em uma -f arquivo de definições, ele pode não ter nenhum argumento, pois este
leva a um erro de sintaxe.

O unifdef utilitário entende apenas o suficiente sobre C para saber quando uma das diretivas é
inativo porque está dentro de um comentário ou afetado por uma linha contínua com barra invertida. Isto
identifica diretivas de pré-processador formatadas de forma incomum e sabe quando o layout é muito estranho para
para lidar com isso.

Um script chamado queda uniforme pode ser usado para remover todos os condicionais cpp(1) diretivas de um
Arquivo. Usa unifdef -s e cpp -dM para obter listas de todas as macros de controle e seus
definições (ou falta delas), em seguida, invoca unifdef com argumentos apropriados para processar
o arquivo.

OPÇÕES


-Dsym=onda
Especifique que uma macro é definida para um determinado valor.

-Dsym Especifique que uma macro é definida com o valor 1.

-Usym Especifique que uma macro é indefinida.

Se a mesma macro aparecer em mais de um argumento, a última ocorrência prevalece.

-Eu iriasym[=onda]
-eusym Strings C, comentários e continuações de linha são ignorados dentro #ifdef e #ifndef
blocos controlados por macros especificadas com essas opções.

-f feira da moda
O arquivo feira da moda contém #define e #undef diretivas de pré-processador, que têm o
mesmo efeito que o correspondente -D e -U argumentos de linha de comando. Você pode ter
múltiplo -f argumentos e misturá-los com -D e -U argumentos; opções posteriores substituem
os anteriores.

Cada diretiva deve estar em uma única linha. Definições de macro semelhantes a objetos (sem
argumentos) são definidos com o valor fornecido. Definições de macro semelhantes a funções (com
argumentos) são tratados como se estivessem definidos como 1.

-b Substitua as linhas removidas por linhas em branco em vez de excluí-las. Mutualmente exclusivo
com o -B opção.

-B Compacte linhas em branco ao redor de uma seção excluída. Mutuamente exclusivo com o -b
opção.

-c Complemento, ou seja, as linhas que teriam sido removidas ou apagadas são retidas e
vice-versa.

-d Ative a impressão de mensagens de depuração.

-e Por padrão, o unifdef irá reportar um erro se precisar remover um pré-processador
diretiva que se estende por mais de uma linha, por exemplo, se tiver um comentário de várias linhas
pendurado na extremidade direita. o -e sinalizador faz com que ele ignore a linha.

-h Imprimir ajuda.

-Icaminho Especifica para queda uniforme um lugar adicional para procurar #include arquivos. Esta opção
é ignorado por unifdef para compatibilidade com cpp(1) e para simplificar o
implementação de queda uniforme.

-K Sempre trate o resultado de && e || operadores como desconhecido se qualquer operando for
desconhecido, em vez de curto-circuito quando operandos desconhecidos não podem afetar o resultado.
Esta opção é para compatibilidade com versões mais antigas do unifdef.

-k Extração #E se e #elif linhas com expressões constantes. Por padrão, as seções
controlados por tais linhas são passados ​​inalterados porque normalmente começam
“#If 0” e são usados ​​como uma espécie de comentário para esboçar o desenvolvimento futuro ou passado.
Seria rude retirá-los, assim como seria para comentários normais.

-m Modifique um ou mais arquivos de entrada no local.

-M texto de fundo
Modifique os arquivos de entrada no local e mantenha os backups dos arquivos originais anexando o
texto de fundo aos nomes de arquivo de entrada.

-n Adicione diretivas #line à saída após as linhas excluídas, para que os erros
produzidos ao compilar o arquivo de saída correspondem aos números de linha na entrada
arquivo.

-o arquivo de saída
Grave a saída no arquivo arquivo de saída em vez da saída padrão ao processar um
único arquivo.

-s Em vez de processar um arquivo de entrada como de costume, esta opção faz com que unifdef para produzir
uma lista de macros que são usadas em expressões de controle de diretiva de pré-processador.

-S Tal como o -s opção, mas a profundidade de aninhamento de cada macro também é impressa. Isto é
útil para calcular o número de combinações possíveis de interdependentes
macros definidas / indefinidas.

-t Desativa a análise de strings C, comentários e continuações de linha, o que é útil
para texto simples. Esta é uma versão geral do -Eu iria e -eu bandeiras.

-V Detalhes da versão de impressão.

-x {012}
Defina o modo de status de saída para zero, um ou dois. Veja o SAIR STATUS seção abaixo para
Detalhes.

O unifdef utilitário obtém sua entrada de stdin se não houver lima argumentos. Você deve usar
da -m or -M opções se houver vários arquivos de entrada. Você pode especificar inut de stdin ou
saída para stdout com '-'.

O unifdef utilitário funciona bem com o -Dsym opção de diff(1).

SAIR STATUS


Em uso normal, o unifdef o status de saída do utilitário depende do modo definido usando o -x
opção.

Se o modo de saída for zero (o padrão), então unifdef sai com status 0 se a saída for um
cópia exata da entrada ou com status 1 se a saída for diferente.

Se o modo de saída for um, unifdef sai com o status 1 se a saída não for modificada ou 0 se
difere.

Se o modo de saída for dois, unifdef sai com status zero em ambos os casos.

Em todos os modos de saída, unifdef sai com o status 2 se houver um erro.

O status de saída é 0 se o -h or -V opções de linha de comando são fornecidas.

DIAGNÓSTICO


Muitos níveis de aninhamento.

Inadequado #elif, #else or #fim se.

Linha de controle do pré-processador ofuscada.

EOF prematuro (com o número da linha do mais recente não terminado #E se).

EOF em comentário.

Use unifdefall online 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.