InglêsFrancêsEspanhol

Ad


favicon do OnWorks

icmun - Online na nuvem

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

Este é o comando icmun 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


icmake - Um programa de manutenção (fazer) utilitário usando um C-como gramática

SINOPSE


fazer [opções] fonte [.im] [dest [.bim]] [- [args]]

icmun arquivo bim

DESCRIÇÃO


Icmake(1) pode ser usado como uma alternativa para fazer(1). Em seu modo de operação padrão,
chama os seguintes programas:

o icm-pp para pré-processar o arquivo icmake

o icm-comp para compilar o código de bytes fazer s

o icm-exec para executar o arquivo de código de byte

Icmake permite que os programadores usem uma linguagem de programação (semelhante à bem conhecida
C-linguagem de programação) para definir as ações que estão envolvidas no programa (complexo)
manutenção. Por esta, fazer oferece vários operadores especiais, bem como um conjunto de suporte
funções que se mostraram úteis na manutenção do programa.

O programa icmun(1) pode ser usado para desmontar o arquivo compilado de código de bytes (.bim). Icmun
é usado principalmente para ilustração, educação e depuração.

Os utilitários make tradicionais recompilam as fontes assim que os arquivos de cabeçalho são modificados. No
contexto de C + + desenvolvimento do programa, isso é muitas vezes uma má ideia, pois adicionar um novo membro a um
classe normalmente não requer que você recompile os fontes da classe. Para lidar com a aula
dependências icmuld(1) pode inspecionar CLASSES arquivos que podem ser usados ​​para definir dependências
entre as classes. Por padrão, as dependências de classe não são interpretadas. Consulte o icmconf(7)
página man para mais detalhes.

OPÇÕES


Icmake usa os seguintes arquivos e opções:

o fonte: fazer arquivo de origem do script (extensão padrão: .Eu estou).

o dest: binário fazer arquivo de script (padrão: `source'.bim, chamado de `arquivo .bim '
abaixo).

o --: fazer separador separador de argumentos fazer argumentos de argumentos passados
para o .bim filenl () args: argumentos a seguir -- são passados ​​para o arquivo .bim
no estado em que se encontra e estão disponíveis no Lista argumento parâmetro definido como o fazer
roteiro principal segundo parâmetro da função (veja abaixo na seção USUÁRIO DEFINIRAM
FUNÇÕES) Para algumas opções (veja abaixo) o -- o separador não é necessário.

Icmake suporta várias opções, descritas a seguir. o -h opção anula todas as outras
opções, o -a opção anula todas as outras opções, exceto para -h. Da ação restante
opções (-b, -c, -e -eu, -p e -t) apenas um pode ser especificado:

o -a
mostrar informações sobre fazer, anulado por -h;

o -b
descontinuado: use a opção -e em vez disso;

o -c
que o fazer o arquivo fonte é compilado, gerando um arquivo .bim;

o -e
execute o fazer arquivo .bim, fornecido como fazero primeiro argumento do arquivo. Qualquer adicional
argumentos são passados ​​para o arquivo .bim no estado em que se encontram, e -- não deve ser especificado;

o -F
os nomes dos arquivos e sinalizadores, bem como uma visão geral de todas as ações a serem realizadas por
fazer são mostrados no fluxo de saída padrão;

o -h
fornecer informações de uso e finalizar fazer;

o -i
o primeiro argumento é o fazer arquivo de origem, o arquivo binário padrão é
construído, se necessário. Quaisquer argumentos adicionais são passados ​​para o arquivo .bim
como está, e -- não deve ser especificado;

o -p
que o fazer o arquivo de origem é apenas pré-processado, e o arquivo pré-processado é gravado
para fazero segundo argumento do arquivo (por padrão `source'.pim);

o -q
ignorado, será removido no futuro fazer versão;

o -t
o argumento seguindo -t é o nome de um arquivo .bim temporário, que é removido
depois de fazerchamada de. Quando . é especificado como o nome do arquivo .bim temporário
em seguida, o diretório temporário padrão, seguido por fazerid de processo de, seguido por
.bim é usado.

Seguindo o nome do arquivo temporário .bim, o nome do fazer script fonte
deve ser especificado. Quaisquer argumentos adicionais são passados ​​para o arquivo .bim no estado em que se encontram e
-- não deve ser especificado; Depois de definir o sinalizador de executável do arquivo de script de origem
(chmod +x escrita), e fornecendo uma linha inicial como esta:

#! / usr / bin / icmake -t.

que o fazer o script pode ser chamado diretamente:

script arg1 arg2

Nesse caso, o fazer escrita `script ' é executado enquanto recebe o
argumentos escrita argumento1 argumento2.

o -T
esta opção deve ser fornecida com o nome de um diretório que é usado para armazenar
arquivos temporários. Por exemplo, ao compilar um fazer script, a saída de fazer'S
pré-processador é um arquivo temporário que é removido na saída. Por padrão / Tmp é usado,
a menos que / Tmp não é um diretório gravável, caso em que o usuário atual $ HOME
diretório é usado. Nomes de arquivos temporários implícitos sempre começam com o ID do processo de
o atual fazer processo.

o -v
exibição fazernúmero da versão de e fim fazer, anulado por -h

Icmun:

arquivo bim: binário fazer Arquivo de script.

PRÉ-PROCESSADOR DIRETIVAS


As seguintes diretivas de pré-processador estão disponíveis:

o comentar:
padrão C comentário (todos entre /* e */), bem como comentário ao final da linha (todos
conteúdo da linha a seguir //) são ignorados.

o Inicialização do Shell: A primeira linha do fazer-script pode começar com #!caminho, Onde
caminho define a localização absoluta do fazer programa. Fazendo o script
executável, ele pode ser chamado sem chamar explicitamente fazer.

Por exemplo, se a primeira linha de um icmakefile (executável) 'icm' (sem extensão)
contém

#! / usr / bin / icmake -i

então icm pode ser emitido como um comando, executando assim

/ usr / bin / icmake -i icm ...

Alternativamente,

#! / usr / bin / icmake -t / tmp / icm

pode ser usado, resultando na execução de

#! / usr / bin / icmake -t / tmp / icm icm ...

Nesse caso, o arquivo binário é removido na saída.

o #include "nome do arquivo"
O arquivo nome do arquivo está incluído no local da diretriz

o #include
O arquivo nome do arquivo está incluído na localização do #include diretiva; nome do arquivo
é pesquisado nos diretórios separados por dois pontos especificados pelo IM meio Ambiente
variável. A primeira ocorrência de nome do arquivo nos diretórios especificados pelo IM
variável de ambiente é usada.

o #define identificador [definição]
O texto identificador será substituído por definição. A definição pode conter
referências a identificadores já definidos, usando o $ {identifier} formato. Se o
$ {identifier} não foi definido (ainda), o texto $ {identifier} é literalmente mantido.
Para evitar recursão infinita no máximo 100 $ {identifier} substituições são permitidas.

As definições continuam na próxima linha se o último caractere em uma linha for um
barra invertida (\) (que não está incluído na definição). O pré-processador
concatena strings duplas quuted, e strings entre aspas duplas não podem abranger vários
linhas. Vários espaços em branco (fora das strings entre aspas duplas) nas definições são
contraído em um único espaço em branco.

A definição que segue o # define's identificador é opcional. Se omitido, o
macro é definido, para que possa ser usado em #if (n) def diretivas (veja abaixo), mas eles
não são substituídos por nenhum texto em fazer declarações de código.

o #ifdef identificador
Se o identificador macro foi definido o próximo bloco de código (até uma correspondência #else
or #fim se foi lida) é compilado por byte. Caso contrário, o bloco de código é
ignorado.

o #ifndef identificador
Se o identificador macro era não definiu o próximo bloco de código (até uma correspondência
#else or #fim se foi detectada) é compilado por byte. Caso contrário, o bloco de
o código é ignorado.

o #else
Termina um #ifdef e #ifndef diretiva, revertendo a decisão de aceitação sobre
o código a seguir. Apenas um #else diretiva pode ser associada com #if (n) def
directivas.

o #fim se
Termina o bloco de pré-processador começando na correspondência #ifdef, #ifndef or #else
diretiva. o #fim se diretório e sua correspondência #if (n) def diretiva deve ser
especificado no mesmo arquivo.

o #undef identificador
Eliminar identificador do conjunto de símbolos definidos. Isso não afeta o
especificação de quaisquer símbolos previamente definidos em que identificador definição
foi usado. Se identificador não foi definido um aviso é emitido.

DADOS TIPOS


Icmake suporta estes tipos de dados:

o ASCII personagem constante
As constantes de caracteres ASCII consistem em um caractere, cercado por caracteres simples ou duplos
citações. Caracteres únicos (por exemplo, 'uma') representam o próprio personagem. Padrão
sequências de escape (por exemplo, '\ n') são suportados e representam seu padrão convertido
valor (por exemplo, '\ n' representa o valor ascii 10 (decimal)). Fuga fora do padrão
sequências (por exemplo, '\ x') representam o caractere ascii após o caractere de escape
(tão '\ x' é igual a 'x') As sequências de escape que consistem em três dígitos octais representam
o caractere ascii correspondente ao valor octal módulo 256 (por exemplo, '\ 123').
As sequências de escape consistindo em um x seguido por dois dígitos hexadecimais representam
o caractere ascii correspondente ao valor hexadecimal (por exemplo, '\ xa4').

o int
Valores integrais, variando de -0x8000 NFT`s 0x7fff. int constantes podem ser
especificados como números decimais (começando com dígitos de 1 a 9), números octais
(começando com 0, seguido por um ou mais dígitos octais) números hexadecimais
(começando com 0x, seguido por um ou mais dígitos hexadecimais) ou como ASCII
constantes de caracteres.

o corda
Variáveis ​​de texto. As constantes de string são delimitadas por aspas duplas. String múltipla
constantes podem ser concatenadas, mas uma única constante de string não pode abranger vários
linhas. Constantes de string separadas apenas por espaço em branco (ou seja, espaços em branco, novas linhas,
comentário) são concatenados e representam uma única constante de string. Para indicar um
fim de linha em uma constante de string, use o \n sequência de fuga.

Constantes de caracteres ASCII entre aspas duplas também podem ser usadas em
expressões aritméticas se um dos operandos for um int. O único personagem
constante de string devo ser uma constante, e não pode ser um corda variável.

Da mesma forma, constantes de caracteres ASCII entre aspas simples podem ser usadas em
situações em que um operando de string é esperado.

o Lista
Uma estrutura de dados contendo uma série de acessos individuais corda valores. Quando
uma lista contém elementos, seu primeiro elemento é indicado pelo índice 0.

o anular
Usado com definições de função para indicar que a função não retorna um
valor.

As variáveis ​​podem ser definidas em nível global, bem como em qualquer nível local dentro
funções. Quando definido dentro das funções, o padrão C regras de escopo e visibilidade
Aplique. Por exemplo, as variáveis ​​locais só podem ser usadas por conta própria ou em aninhadas mais profundas
blocos, sua visibilidade é mascarada em blocos aninhados mais profundamente, definindo um identicamente
variável nomeada dentro desses blocos aninhados mais profundamente. As variáveis ​​são fortemente tipadas e
não pode ter tipo anular.

As variáveis ​​podem ser inicializadas quando são definidas. Inicializações são expressões, que
pode usar funções predefinidas ou definidas pelo usuário, valores constantes e valores de variáveis ​​que são
visível no ponto de definição.

PREDEFINIDO CONSTANTES


As seguintes constantes são predefinidas por fazer. Todos são constantes int valores:

─────────────────────────────────
valor de símbolo destinado a
─────────────────────────────────
O_ALL 8 makelist
Lista de criação O_DIR 2
O_FILE 1 lista de criação
Lista de criação de O_SUBDIR 4
─────────────────────────────────
DESLIGADO 0 eco
ON 1 eco
─────────────────────────────────
P_CHECK 0 chamadas do sistema
P_NOCHECK 1 chamadas de sistema
─────────────────────────────────
Estatística S_IEXEC 32
S_IFCHR 1 estatística
Estatística S_IFDIR 2
Estado S_IFREG 4
S_IREAD 8 status
Estatística S_IWRITE 16
─────────────────────────────────

As seguintes constantes são dependentes da arquitetura:

────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─────────────
símbolo 1 quando definido na plataforma, caso contrário, 0
────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─────────────
Unix Unix, geralmente com o compilador GNU gcc
UNIX pode estar disponível como alternativa
linux x86 executando Linux (geralmente com gcc)
LINUX pode, alternativamente, estar disponível
M_SYSV, M_UNIX x86 executando SCO / Unix
_POSIX _SOURCE Unix com compilador compatível com Posix
__hpux HP-UX, com o compilador HP nativo
────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─────────────

OPERADORES


digitado int operando (s):

Todos os Produtos C operadores estão disponíveis (exceto para operadores de ponteiro, como fazer não suporta
ponteiros). Eles operam como seus C-programação de contrapartes de linguagem.

tipo string operando (s):

Escolha corda variáveis ​​de tipo e / ou constantes, os seguintes operadores estão disponíveis (a e b
representar corda variáveis ​​ou constantes):

o a + b: retorna um novo corda valor contendo a concatenação de corda valores a
e b. Observe que corda constantes podem ser concatetadas diretamente (sem usar o +
operador), por exemplo, as duas linhas seguintes definem a string "Olá mundo":

"Olá Mundo"
"olá" + "mundo"

o a += b: a deve ser um corda variável, para a qual o corda variável ou valor b is
anexado.

o comparações de strings: operadores == != <= >= < > != e == pode ser aplicado a corda
valores ou variáveis, retornando 1 se a comparação for bem-sucedida, caso contrário, 0.
A comparação diferencia maiúsculas de minúsculas e segue a ordem ou os caracteres definidos
no ASCII conjunto de caracteres.

o !a: o booleano ! (não) operador retorna 1 se o corda a está vazio, caso contrário, 0 é
devolvida.

o a mais jovens b, a mais novo b: retorna 1 se o arquivo a é mais recente que o arquivo b. Por exemplo,
"source.cc" mais novo "source.o". Os arquivos a e b não tem que existir: se ambos não
exist 0 é retornado; E se b não existe, 1 é retornado; E se a não existe 0 é
retornou; se eles forem igualmente antigos, 0 será retornado. (a existe() função predefinida
(veja abaixo, seção PREDEFINIDO FUNÇÕES) pode ser usado para testar explicitamente se um
o arquivo existe).

o a mais velho b: vira 1 se o arquivo a é mais antigo que o arquivo b. Por exemplo, "libprog.a" mais velho
"source.o". Os arquivos a e b não tem que existir: se ambos não existirem, 0 é
retornou; E se a não existe, 1 é retornado; E se b não existe 0 é retornado; E se
eles são igualmente antigos, 0 é retornado.

o []: o operador de índice recupera um caractere de uma variável de string ou constante: ele
retorna uma string como um rvalor. Portanto, a seguinte instrução é compilada corretamente:

// assume que str1 e str2 são strings
str1 = str2 [3];

mas a seguinte instrução não compilará:

str2 [3] = "a";

Uma string vazia é retornada se um valor de índice inválido for fornecido.

o O operador `backtick` (`cadeia de caracteres cmd`)
Uma string colocada entre dois crases é executada pelo Popen(3) função. o
a saída padrão gerada pelo comando que é armazenado no argumento string é
retornado como uma lista. Uma lista vazia indica que o comando não pôde ser executado.
Um comando que pode ser executado, mas não produz nenhuma saída, retorna uma lista
contendo um elemento vazio. A saída do fluxo de erro padrão do comando não é
coletado pelo operador crase. No entanto, o redirecionamento de shell padrão pode ser
usado para coletar a saída do fluxo de erro padrão. Exemplo:

printf (`" ls "`); // imprime os elementos em
// o diretório atual

A função predefinida eval (string cmd) se comporta exatamente como o backtick
operador: são sinônimos.

digitado em lista operando (s):

Escolha Lista variáveis ​​de tipo e / ou valores, os seguintes operadores estão disponíveis:

o a + b: retorna um novo Lista valor contendo a concatenação de Lista valores a e
b. Isto é não uma operação de conjunto: se um elemento aparece tanto em a e em b, elas vão
aparecem duas vezes na lista resultante (a adição do conjunto é fornecida pela
função Listunion).

o a - b: retorna um novo Lista valor que contém os elementos em a que não estão presentes
in b. Este is uma operação de diferença definida: a lista retornada contém todos os elementos
in a que não são elementos de b.

o a += b: elementos em b são adicionados aos elementos em a, que deve ser um Lista
variável. Isto é não uma operação definida.

o a -= b: elementos em b são removidos dos elementos em a, que deve ser um Lista
variável. Esse is uma operação definida: todos os elementos de a que são encontrados em b e guarante que os mesmos estão
removido de a.

o listar comparações de igualdade: operadores != e == pode ser aplicado a Lista valores ou
variáveis. Operador == retorna 1 se ambas as listas tiverem elemento por elemento idêntico
elementos, caso contrário, 0 é retornado. Operador != inverte o resultado de ==.

o !a: o booleano ! operador retorna 1 se o Lista a está vazio, caso contrário, 0 é
devolvida.

o []: o operador de índice recupera um elemento de lista de uma variável de lista: ele retorna um
string como um rvalor. Portanto, a seguinte instrução é compilada corretamente:

// assume que lst é uma lista, str é uma string
str = lst [3];

mas a seguinte instrução não compilará:

lst [3] = str;

Uma string vazia é retornada se um valor de índice inválido for fornecido.

Conjurar:

Os moldes de tipo podem ser realizados usando o padrão C operador de elenco para lançar:

o Strings para ints e vice-versa ((int) "123", (string) 55)

o Strings para listas (Lista lst = (lista) "olá")

FLUXO CONTROLE


Icmake oferece o seguinte subconjunto de Cdeclarações de. Eles podem ser usados ​​como no C
linguagem de programação.

o expressão ;
A declaração de expressão simples;

o A declaração composta
Variáveis ​​de qualquer tipo podem ser definidas e inicializadas em qualquer lugar dentro de qualquer composto
demonstração. O visibilidade de uma variável começa em seu ponto de definição.

o if (doença) afirmação
Dentro da condição, uma variável pode ser definida e inicializada. Por exemplo,

if (string str = getText ())
processo (str);

Neste exemplo, processo não é chamado se getText () retorna uma string vazia. o
variável str não existe antes ou depois do if declaração.

o if (doença) afirmação outro afirmação
Tal como acontece com a declaração anterior, dentro da condição uma variável pode ser definida e
inicializado.

o para (iniciar; doença; incremento) afirmação
Variáveis ​​(de um único tipo) podem ser inicializadas (e opcionalmente definidas) no
o init seção. o o init, condição e incremento as seções podem permanecer vazias. o
seção de condição vazia é interpretada como `sempre verdadeiro'.

o enquanto (doença) afirmação
Dentro da condição, uma variável pode ser definida e inicializada.
Um complementar do ... enquanto () declaração não está disponível. Observe que definir um
variável, usando uma expressão de inicialização significa que a inicialização
expressar é executado a cada iteração do enquanto demonstração. Então o seguinte
declaração nunca terminará e exibirá um fluxo interminável de valores 10:

enquanto (int x = 10)
printf (x--, "\ n");

o voltar; e retorno expressão;
Avião retorno declarações podem ser usadas em anular funções e retorno expressão
instruções são usadas em outro tipo de funções. A função principal tem tipo de retorno
anular e assim em principal apenas claro retorno declarações podem ser usadas. Por padrão, um fazer
o valor de saída do script é igual a 0. Use a função integrada saída (veja abaixo) para especificar
qualquer outro valor de saída.

Be aconselhado: o comportamento das funções não nulas que não retornam valores é indefinido.

o quebrar
Folhas para e enquanto declarações, anulando a condição da declaração.

o continuar
Continua com a próxima iteração de um para or enquanto declaração.

o saída (expressão)
Termina a execução de um fazer-roteiro. o expressão deve avaliar para um int
valor, que se torna o valor de saída do script.

PREDEFINIDO FUNÇÕES


Icmake oferece as seguintes funções predefinidas, que podem ser usadas em qualquer lugar em fazer
scripts. A visão geral a seguir é organizada em ordem alfabética pelo nome da função.

o anular arghead (string h)
Função auxiliar de exec () (veja também abaixo em exec ()): define o `argumento principal ',
para ser usado com exec (). Por padrão, o `argumento head 'é uma string vazia.

o anular rabo de cavalo (fragmento t)
Função auxiliar de exec () (veja também abaixo em exec ()): define o `argumento final ',
para ser usado com exec (). Por padrão, o `argumento final 'é uma string vazia.

o int ascii (corda s)
Retorna o primeiro caractere de s como um int; por exemplo, ascii ("A") retorna 65;

o corda ascii (int i)
Returns i como uma string, por exemplo, ascii(65) retorna a string "UMA";

o corda change_base (string arquivo, corda nova base)
Muda o nome de base de lima, retorna o nome alterado. Por exemplo,
change_base ("/ path / demo.im", "Fora") Retorna "/path/out.im";

o corda change_ext (string arquivo, corda novopróximo)
Altera a extensão de lima, retorna o nome alterado. Por exemplo,
rss_changeExt ("source.cc", "o") Retorna "source.o";

o corda change_path (string arquivo, corda novo rumo)
Altera a especificação do caminho de lima, retorna o nome alterado. Por exemplo,
change_path ("tmp / binary", "/ usr / bin") Retorna "/ usr / bin / binary". Observe que o
/-separator é inserido, se necessário.

o corda chdir (string novodir)
Muda o diretório de trabalho do script, retorna o diretório anterior como um absoluto
caminho.

Use chdir (".") para obter o diretório de trabalho atual, chdir ("") pode ser usado para
obter o diretório de trabalho de inicialização (esta funcionalidade foi quebrada nas versões
antes de 7.00, mas agora está operacional). A função termina o
fazer-script se o especificado novodir não existe.

o corda chdir (int verificando, corda novodir)
Mesma funcionalidade da função anterior, mas especificando a verificação as
P_NOCHECK. a função não encerrará o script. Em vez disso, ele retornará o
diretório de trabalho atual do script.

o cmdhead (string h)
Função auxiliar de exec () (veja também abaixo em exec ()): Define uma `cabeça de comando ', para
ser usado com exec (). Por padrão, o `cabeçalho do comando 'é uma string vazia.

o cmdtail (string t)
Função auxiliar de exec () (veja também abaixo em exec ()): Define uma `cauda de comando ', para
ser usado com exec (). Por padrão, o `final do comando 'é uma string vazia.

o echo (int optar)
Controla o eco de programas chamados (e seus argumentos), especifique OFF se ecoando
não é solicitado. Por padrão eco (LIGADO) é usado.

o corda elemento (int índice, Lista (ou corda) var)
Atua de forma idêntica ao operador de índice: consulte o índice ([]) operador no
seção OPERADORES.

o Lista eval (string str)
Esta função atua de forma idêntica ao operador crase. O exemplo fornecido com
o operador crase poderia, portanto, também ter sido escrito assim:

printf (eval ("ls")); // imprime os elementos no atual
// diretório

o exec (string cmd, ...)
Executa o comando com argumentos. Cada argumento será prefixado por arghead ()'S
argumento e pós-fixado por argtail ()argumento de. Observe que nenhum espaço em branco é inserido
entre arghead ()o conteúdo de, o argumento adequado, e argtail ()argumento de. Tudo
assim, os argumentos modificados são concatenados, desta vez separados por espaços em branco simples e
então cmdhead ()o conteúdo de é inserido entre o comando e o primeiro argumento
(em ambos os lados delimitados por espaços em branco) e cmdtail ()o conteúdo de é anexado
aos argumentos (novamente, separados por um único espaço em branco). PATH é pesquisado para localizar
cmd. 0 é retornado.

o exec (int verifiquecmd, corda cmd, ...)
Mesma funcionalidade da função anterior, mas especificando a verificação as
NÃO CHECADO a função não encerrará o script. Em vez disso, ele retornará o
chamado status de saída do comando, ou 0x7f00 se o comando não foi encontrado.

o execute (string cmd, corda cmdhd, corda argh, ..., corda argtl, corda cmdtl)
Igual a exec (), mas o cabeçalho / final do comando e o cabeçalho / final do argumento devem ser especificados.

O comando realmente executado começa com cmd, Seguido por cmdhd. O próximo é uma série
de argumentos segue, cada um entre arghd e argtl. O comando termina com
cmdtl. 0 é devolvido

o execute (int verificando, corda cmd, corda cmdhd, corda argh, ..., corda argtl,
corda cmdtl)
Mesma funcionalidade da função anterior, mas especificando a verificação as
NÃO CHECADO a função não encerrará o script. Em vez disso, ele retornará o
chamado status de saída do comando, ou 0x7f00 se o comando não foi encontrado.

o int existe (string Arquivo)
Retorna um valor diferente de zero se lima existe, caso contrário, 0 é retornado.

o Lista fgets (string arquivo, Lista Deslocamento)
NOTA: in fazer versão 8.00.00 o protótipo desta função foi alterado de
Lista fgets (string arquivo, int Deslocamento) para Lista fgets (string arquivo, Lista Deslocamento).

A próxima linha encontrada no deslocamento contido em compensar é lido de lima. Passe um
lista vazia para fgets ler lima desde o seu início.

Ele retorna uma lista contendo como seu primeiro elemento o conteúdo da linha lida
(sem o \n terminador de linha), como seu segundo elemento, o terminador de linha `\n,
(se encontrado), e como seu terceiro elemento, a string OK se uma linha foi bem sucedida
leia, FALHA se a leitura do arquivo falhou. Ao ler no EOF uma lista vazia é
retornou. A lista retornada pode conter elementos adicionais, que são internamente
utilizado pelo fgets ao ler a próxima linha.

Para ler várias linhas, comece passando uma lista vazia como Obtém segundo argumento.
Para ler as linhas subsequentes, passe a lista retornada anteriormente para fgets segundo
argumento.

Aqui está um exemplo que mostra como ler um arquivo completo:

lista ret;
while (1)
{
ret = fgets ("nome do arquivo", ret);
if (! ret)
break;
processo (ret [0], ret [1]);
}

o int fprintf (string nome do arquivo, ...)
Acrescenta todos os argumentos (separados por vírgula) ao arquivo nome do arquivo. Retorna o número de
argumentos impressos.

o int fprintf (string nome do arquivo, corda formato, ...)
Acrescenta todos os argumentos (separados por vírgula) ao arquivo nome do arquivo. Retorna o número de
argumentos impressos.

If formato contém espaços reservados% 1 ..% n a saída está formatada (veja também
formatostr) Observe que, neste caso, a contagem de argumentos (também) começa além do
string de formato: o primeiro argumento a seguir formato é referido como %1.

o corda get_base (string Arquivo)
Retorna o nome base de lima. O nome de base é o arquivo sem seu prefixo de caminho
e sem sua extensão. A extensão são todas as informações que começam na final
ponto no nome do arquivo. Se nenhum ponto final for encontrado, o nome do arquivo é o nome de base.
Por exemplo, o nome base de ab é igual a a, o nome base de abc é igual a ab, a base
nome de abc é igual a c.

o corda getch ()
Retorna a próxima tecla pressionada como uma string (pressionando `Enter 'não é necessário).

o corda get_dext (string Arquivo)
Retorna a extensão de lima, incluindo o ponto de separação. A extensão é tudo
informações começando no ponto final do nome do arquivo.

Se nenhum ponto final for encontrado, uma string vazia será retornada.

o Lista getenv (string ambiente)
Retorna o valor da variável de ambiente envvar em uma lista contendo dois elementos:

o primeiro elemento indica se a variável de ambiente foi definida (valor
"1") ou não (valor "0");
o segundo elemento indica o valor da variável de ambiente.

Variáveis ​​de ambiente são da forma variável = valor, e se definido o da lista
segundo elemento contém valor. Se o valor estiver vazio, a variável é definida, mas
não tem nenhum texto associado a ele.

o corda get_ext (string Arquivo)
Retorna a extensão de lima, exceto para o ponto de separação. A extensão é tudo
informações começando no ponto final no nome do arquivo.

Se nenhum ponto final for encontrado, uma string vazia será retornada.

o int getpid ()
Retorna o id de processo do intérprete de código de bytes icmake icm-exec.

o corda obtém ()
Retorna a próxima linha lida do teclado como um corda. A linha inserida no
teclado deve ser encerrado por uma tecla 'Enter', que não é armazenada no
string.

o corda get_path (string Arquivo)
Retorna o prefixo do caminho de lima. O prefixo do caminho é todas as informações até (e
incluindo) o separador de diretório final (que é, dependendo da operação
sistema, uma barra para a frente ou uma barra invertida).

Se nenhum caminho for encontrado, um strring vazio será retornado.

o int listfind (lista Primeiro, corda str)
Retorna o primeiro índice em lst onde a corda str for encontrado, ou -1 se lst não
não contenho str.

o int listlen (lista l)
Retorna o número de elementos em Lista.

o Lista listunion (lista lhs, Lista direito)
Retorna uma lista contendo a união dos elementos em lhs e rhs.

o Lista listunion (lista Primeiro, corda str)
Retorna uma lista contendo a união dos elementos em lst e str.

o Lista makelist (string mascarar)
Retorna uma lista de todos os arquivos correspondentes máscara. Por exemplo, makelist ("*. c") retorna uma lista
contendo todos os arquivos que terminam em .c.

o Lista makelist (tipo, corda mascarar)
Igual à função anterior, mas o tipo dos elementos do diretório pode ser
especificado como seu primeiro argumento:

significado do símbolo
IS_ALL obter todas as entradas do diretório
IS_DIR obtém todos os diretórios, incluindo. e ..
IS_FILE obtém uma lista de arquivos
IS_SUBDIR obter todos os subdiretórios

Observe que o padrão * não corresponderá a entradas ocultas em operação do tipo Unix
sistemas. Usar .* por isso.

o Lista makelist (string mascarar, mais recente, corda arquivo de comparação)
Retorna a lista de todos os arquivos correspondentes à máscara que são mais recentes do que o fornecido
comparefile. Operador mais jovens pode ser usado em vez de mais novo. Observe que mais novo e
mais jovens são operadores, não strings.

o Lista makelist ([int = É_FILE,] corda mascarar, mais recente, corda arquivo de comparação)
Igual à função anterior, mas tipo pode ser especificado como em Lista makelist (tipo,
corda mascarar).

o makelist (string mascarar, Mais velho, corda arquivo de comparação)
Veja acima; retorna uma lista de arquivos mais antigos que o compilado.

o makelist (tipo, corda mascarar, Mais velho, corda arquivo de comparação)
Igual à função anterior, mas tipo pode ser especificado como em Lista makelist (tipo,
corda mascarar).

o int printf (...)
Mostra todos os argumentos (separados por vírgula) para a tela (ou seja, o fluxo de saída padrão).
Retorna o número de argumentos impressos.

o int printf (string formato, ...)
Mostra todos os argumentos (separados por vírgula) para a tela (ou seja, o fluxo de saída padrão).
Retorna o número de argumentos impressos (o formato string conta como um argumento).

If formato contém espaços reservados% 1 ..% n a saída está formatada (veja também
formatostr).

o int putenv (string ambiente)
Adiciona envvar para o atual (fazer) ambiente Use o formato: "VAR = valor".
Retorna 0.

o corda resize (string str, int novo comprimento) Retorna uma cópia da string str, redimensionado para
novo comprimento personagens. Se novo comprimento é negativo, então uma string vazia é retornada,
if novo comprimento excede str's comprimento, em seguida, os caracteres recém-adicionados são inicializados
para espaços em branco.

o int sizeof (lista l)
Obsoleto: use Listlen.

o int sizeoflist (lista l)
Obsoleto: use Listlen.

o Lista stat (string entrada)
Returns estado(2) informações da entrada do diretório entrada como uma lista. A lista devolvida
tem dois elementos: o elemento 0 é o atributo valor, o elemento 1 contém o tamanho de
o arquivo.

Os atributos são retornados como sinalizadores de bits, compostos a partir dos seguintes
constantes:

S_IFCHR S_IFDIR S_IFREG
S_IREAD S_IWRITE S_IEXEC

veja a estado(2) página de manual para os significados dessas constantes.

o Lista stat (verificando, corda entrada)
Igual à função anterior, mas especificando a verificação as P_NOCHECK a função
não encerrará o script. Em vez disso, ele retorna estado(2) valor de retorno de.

o int strchr (string str, corda caracteres)
Retorna o primeiro índice em str onde qualquer um dos personagens em tanques for encontrado, ou -1
if str não contém nenhum dos caracteres em tanques.

o int strlen (corda str)
Retorna o número de caracteres em str (sem contar o 0 final).

o int strfind (string palheiro, corda agulha)
Retorna o índice em palheiro onde agulha for encontrado, ou -1 se agulha não está contido
in palheiro.
Esta função foi chamado strstr () in versões antes 7.00.

o int strformat (string formato,...)
Retorna uma string formatada usando marcadores de posição% 1 ..% 2 para abordar os argumentos
seguinte formato.
Exemplo:

void main ()
{
int i = 10;
intj = 20;
cadeia s1;
cadeia s2;
// abordagem tradicional:
s1 = (string) i + "" + (string) j + "" + (string) i;
// usando strformat:
s2 = formato de estrutura ("% 1% 2% 1", i, j);
printf ("s1 =% 1, s2 =% 2 \ n", s1, s2);
}

o corda strlwr (string s)
Retorna uma duplicata em minúsculas de s.

o Lista strtok (string str, corda separadores)
Retorna uma lista contendo todas as substrings de str separados por um ou mais
(consecutivos) caracteres em separadores. Por exemplo, strtok ("olá + mundo do icmake ", " + ")
retorna a lista contendo as três strings "Olá", "icmake's" e "mundo".

o corda strupr (string s)
Retorna uma duplicata em maiúsculas de s.

o corda substr (string texto, int Deslocamento, int contar)
Retorna uma substring de texto, Começando no compensar, consiste em contar personagens. Se
compensar excede (ou é igual a) o tamanho da string ou se contar <= 0, então uma string vazia
é devolvido. Se compensar é menor que 0, então 0 é usado.

o int sistema (string comando)
Executa comando. O valor de retorno indica o valor de saída do comando executado. o
corda comando pode conter caracteres de redirecionamento e / ou piping.

o int sistema (int verificando, corda comando)
Mesma funcionalidade da função anterior, mas especificando a verificação as
NÃO CHECADO a função não encerrará o script. Em vez disso, ele retornará o
chamado status de saída do comando, ou 0x7f00 se o comando não foi encontrado.

o corda trim (string s)
Retorna uma cópia de s sem espaços em branco à esquerda e à direita.

o corda trimleft (corda str)
Retorna uma cópia de s sem espaços em branco à esquerda.

o corda trim (string s)
Retorna uma cópia de s sem espaços em branco à direita.

USUÁRIO DEFINIRAM FUNÇÕES


anular principal

Icmake os scripts devem ser fornecidos com uma função definida pelo usuário principal. A função principal tem
três parâmetros opcionais, que podem ser omitidos do último (ambiente) para o primeiro
(argumento), como em C. Seu protótipo completo é (nota: anular tipo de retorno):

void main (int argc, list argv, list envp)

In a Principal(),

o argumento representa o número de elementos em argumento;

o argumento contém os argumentos, com o elemento 0 sendo igual ao nome do .bim
Arquivo;

o ambiente contém as variáveis ​​de `ambiente '. A função Listlen pode ser usado para
determinar o número de seus elementos. Elementos em ambiente tem o formulário
variável = valor. Alternativamente, a função getenv pode ser usado para recuperar um
variável de ambiente específica imediatamente. Exemplo:

void main (int argc, list argv)
{
lista para compilar;
int idx;

se (argc == 1)
uso (elemento (0, argv));

if (toCompile = altered ("*. cc"))
{
para (idx = comprimento (toCompile); idx--;)
compilar (elemento (idx, toCompile));

if (getenv ("dryrun") [0] == "0")
vinculação (elemento (2, argv));
}
}

Tendo inicializado todas as variáveis ​​globais na ordem de suas definições principal é chamado por
fazersistema de suporte em tempo de execução para executar tarefas adicionais.

Adicionalmente definido usuário funções

Funções adicionais podem ser definidas. Depois de definidas, essas funções podem ser chamadas. Avançar
a referência de variáveis ​​ou funções não é suportada, mas a chamada recursiva
funções é. Como as declarações de função não são suportadas, a recursão indireta não é
suportado também.

As funções definidas pelo usuário devem ter os seguintes elementos:

o O tipo de retorno da função, que deve ser um dos vazio, interno, corda or Lista. Lá
não é um tipo padrão.

o O nome da função, por exemplo, compilar.

o Uma lista de parâmetros, definindo zero ou mais parâmetros separados por vírgula. Os parametros
eles próprios consistem em um nome de tipo (interno, cordaou Lista) seguido pelo
identificador do parâmetro. Por exemplo, (fragmento arquivo de saída, corda fonte).

ou A corpo rodeado por um par de chaves ({ e }).

Os corpos das funções podem conter definições de variáveis ​​(inicializadas opcionalmente). Variável
as definições começam com um nome de tipo, seguido por uma ou mais vírgulas separadas (opcionalmente
inicializado) identificadores de variáveis. Se uma variável não for explicitamente inicializada, ela é
inicializado por padrão. Por padrão, um int variável é inicializada com 0, um corda is
inicializado com uma string vazia ("") E um Lista é inicializado com uma lista de zero elementos.

Além das definições de variáveis, os corpos podem conter zero ou mais instruções (cf.
seção FLUXO CONTROLE) Observe que as variáveis ​​podem ser definidas (e opcionalmente inicializadas)
em qualquer lugar dentro das funções, e também em E se, para e enquanto afirmações.

O comportamento de fazer-scripts usando funções não nulas que não retornam valores não são
definiram.

Use icmun 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