IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

icmun - Online nel cloud

Esegui icmun nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando icmun che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


icmake - Un programma di manutenzione (make) utilità usando a C-come la grammatica

SINOSSI


icmake [opzioni] fonte[.im] [destinazione[.bim]] [-- [argomenti]]

immun file bim

DESCRIZIONE


Imake(1) può essere utilizzato in alternativa a make(1). Nella sua modalità di funzionamento standard,
chiama i seguenti programmi:

o icm-pp per preelaborare il file icmake

o icm-comp per byte-code compilare il icmake s

o icm-exec per eseguire il file byte-code

Imake permette ai programmatori di usare un linguaggio di programmazione (molto simile al ben noto
C-linguaggio di programmazione) per definire le azioni che sono coinvolte nel programma (complesso)
Manutenzione. Per questo, icmake offre vari operatori speciali e un insieme di supporto
funzioni che si sono rivelate utili nella manutenzione del programma.

Il programma immun(1) può essere utilizzato per disassemblare il file bytecode compilato (.bim). Icmun
viene utilizzato principalmente per l'illustrazione, l'istruzione e il debug.

Le tradizionali utility make ricompilano i sorgenti una volta modificati i file di intestazione. Nel
contesto di C++ sviluppo del programma questa è spesso una cattiva idea, in quanto aggiungere un nuovo membro a a
class non richiede normalmente di ricompilare i sorgenti della classe. Per gestire la classe
dipendenze icmbuld(1) può ispezionare CLASSI file che possono essere utilizzati per definire le dipendenze
tra le classi. Per impostazione predefinita, le dipendenze di classe non vengono interpretate. Fare riferimento a icmconf(7)
man-page per ulteriori dettagli.

VERSIONI


Imake utilizza i seguenti file e opzioni:

o source: icmake file sorgente dello script (estensione predefinita: .sono).

o meno: binario icmake file di script (predefinito: `fonte'.bim, chiamato "file .bim"
sotto).

o --: icmake separatore di argomenti separazione icmake argomenti da argomenti passati
al file .bim() args: argomenti seguenti -- vengono passati al file .bim
così com'è e sono disponibili dal stratagemma arv parametro definito come icmake
script principale secondo parametro della funzione (vedi sotto alla sezione UTENTE DEFINITO
FUNZIONI). Per alcune opzioni (vedi sotto) il -- separatore non è richiesto.

Imake supporta varie opzioni, descritte di seguito. Il -h l'opzione prevale su tutte le altre
opzioni, il -a l'opzione prevale su tutte le altre opzioni tranne -h. Della restante azione
opzioni (-B, -C, -e, -io, -p ed -t) se ne può specificare solo uno:

o -a
mostra informazioni su icmake, annullato da -h;

o -b
interrotto: usa invece l'opzione -e;

o -c
, il icmake viene compilato il file sorgente, generando un file .bim;

o -e
eseguire il icmake File .bim, dato come icmakeil primo argomento del file. Qualsiasi ulteriore
gli argomenti vengono passati al file .bim così com'è e -- non deve essere specificato;

o -F
i nomi dei file e i flag, nonché una panoramica di tutte le azioni che devono essere eseguite da
icmake sono mostrati nel flusso di output standard;

o -h
fornire informazioni sull'utilizzo e terminare icmake;

o -i
il primo argomento è il icmake file sorgente, il file binario predefinito è
costruito se necessario. Eventuali argomenti aggiuntivi vengono passati al file .bim
così com'è, e -- non deve essere specificato;

o -p
, il icmake il file sorgente è solo preelaborato e il file preelaborato è scritto
a icmakeil secondo argomento del file di (per impostazione predefinita `source'.pim);

o -q
ignorato, verrà rimosso in futuro icmake versione;

o -t
l'argomento che segue -t è il nome di un file .bim temporaneo, che viene rimosso
dopo icmakechiamata. quando . è specificato come nome del file .bim temporaneo
quindi la directory temporanea predefinita, seguita da icmake's process-id, seguito da
.bim viene utilizzato.

Dopo il nome del file .bim temporaneo il nome del icmake script sorgente
deve essere specificato. Eventuali argomenti aggiuntivi vengono passati al file .bim così com'è e
-- non deve essere specificato; Dopo aver impostato il flag eseguibile del file di script di origine
(chmod +x copione), e fornendogli una riga iniziale come questa:

#!/usr/bin/icmake -t.

, il icmake script può essere chiamato direttamente:

script arg1 arg2

nel qual caso il icmake copione `sceneggiatura' viene eseguito mentre riceve il
argomenti copione arg1 arg2.

o -T
questa opzione deve essere fornita con il nome di una directory che viene utilizzata per memorizzare
file temporanei. Ad esempio, durante la compilazione di un icmake script, l'output di icmake'S
il preprocessore è un file temporaneo che viene rimosso all'uscita. Per impostazione predefinita / Tmp si usa,
salvo che / Tmp non è una directory scrivibile, nel qual caso quella dell'utente corrente $ HOME
viene utilizzata la directory. I nomi di file temporanei impliciti iniziano sempre con l'id del processo di
la corrente icmake processo.

o -v
dalla visualizzazione icmakenumero di versione di e fine icmake, annullato da -h

Icmun:

file bim: binario icmake file di script.

PREPROCESSORE DIRETTIVE


Sono disponibili le seguenti direttive per il preprocessore:

o commento:
Standard C commento (tutti tra /* ed */) così come commento a fine riga (all
contenuto della riga che segue //) vengono ignorati.

o Avvio della shell: la prima riga del icmake-script può iniziare con #!il percorso, Dove
sentiero definisce la posizione assoluta del icmake programma. Facendo lo script
eseguibile, può essere chiamato senza chiamare esplicitamente icmake.

Ad esempio, se la prima riga di un icmakefile (eseguibile) 'icm' (senza estensione)
contiene

#!/usr/bin/icmake -i

poi icm può essere emesso come comando, quindi in esecuzione

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

Alternativamente,

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

possono essere utilizzati, con conseguente esecuzione di

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

In questo caso il file binario viene rimosso all'uscita.

o #includere "nome del file"
Il file Nome del file è incluso nel luogo della direttiva

o #includere
Il file Nome del file è incluso nella posizione del #includere direttiva; Nome del file
viene cercato nelle directory separate da due punti specificate da IM ambiente
variabile. La prima occorrenza di Nome del file nelle directory specificate dal IM
viene utilizzata la variabile di ambiente.

o #define identificatore [definizione]
Il testo identificatore sarà sostituito da definizione. La definizione può contenere
riferimenti a identificatori già definiti, utilizzando il ${identificatore} formato. Se la
${identificatore} non è stato (ancora) definito, il testo ${identificatore} è letteralmente tenuto.
Per prevenire una ricorsione infinita al massimo 100 ${identificatore} sono ammesse sostituzioni.

Le definizioni continuano alla riga successiva se l'ultimo carattere su una riga è a
barra rovesciata (\). (che non rientra nella definizione). Il preprocessore
concatena stringhe tra virgolette doppie e le stringhe tra virgolette doppie non possono estendersi su più virgolette
Linee. Gli spazi multipli (al di fuori delle stringhe tra virgolette) nelle definizioni sono
contratto in un unico spazio vuoto.

La definizione che segue il #define's l'identificatore è facoltativo. Se omesso, il
macro è definita, quindi può essere utilizzata in #se(n)def direttive (vedi sotto), ma loro
non sono sostituiti da alcun testo in icmake dichiarazioni di codice.

o #ifdef identificatore
Se l' identificatore macro è stato definito il blocco di codice successivo (fino a una corrispondenza #else
or #endif direttiva è stata letta) è compilato in byte. Altrimenti, il blocco di codice è
ignorato.

o #ifndef identificatore
Se l' identificatore macro era non definito il successivo blocco di codice (fino a una corrispondenza
#else or #endif è stata rilevata la direttiva) è compilato in byte. In caso contrario, il blocco di
codice viene ignorato.

o #else
Termina a #ifdef ed #ifndef direttiva, invertendo la decisione di accettazione circa
il seguente codice. Solo uno #else la direttiva può essere associata a #se(n)def
direttive.

o #endif
Termina il blocco del preprocessore a partire dalla corrispondenza #ifdef, #ifndef or #else
direttiva. Il #endif directory e la sua corrispondenza #se(n)def direttiva deve essere
specificato nello stesso file.

o #indif identificatore
Rimuovere identificatore dall'insieme dei simboli definiti. Ciò non influisce sul
specificazione di eventuali simboli precedentemente definiti in cui identificatori definizione
è stato usato. Se identificatore non è stato definito viene emesso un avviso.

DATA TIPI


Imake supporta questi tipi di dati:

o ASCII carattere costante
Le costanti di carattere ASCII sono costituite da un carattere, circondato da singolo o doppio
citazioni. Caratteri singoli (es. 'un') rappresentano il personaggio stesso. Standard
sequenze di escape (ad es. '\n') sono supportati e rappresentano il loro standard convertito
valore (es. '\n' rappresenta il valore ascii 10 (decimale)). Fuga non standard
sequenze (es. '\X') rappresentano il carattere ascii che segue il carattere di escape
(così '\X' uguale 'X'). Le sequenze di escape costituite da tre cifre ottali rappresentano
il carattere ascii corrispondente al valore ottale modulo 256 (es. '\123').
Le sequenze di escape costituite da una x seguita da due cifre esadecimali rappresentano
il carattere ascii corrispondente al valore esadecimale (es. '\xa4').

o int
Valori integrali, che vanno da -0x8000 attraverso 0x7fff. int le costanti possono essere
specificati come numeri decimali (che iniziano con le cifre da 1 a 9), numeri ottali
(inizia con 0, seguito da una o più cifre ottali) numeri esadecimali
(inizia con 0x, seguito da una o più cifre esadecimali) o come ASCII
costanti caratteriali.

o stringa
Variabili di testo. Le costanti stringa sono delimitate da virgolette. Stringa multipla
le costanti possono essere concatenate, ma una singola costante di stringa potrebbe non estendersi su più
Linee. Costanti stringa separate solo da spazi bianchi (es. spazi vuoti, nuove righe,
commento) sono concatenati e rappresentano una singola stringa costante. Per indicare un
fine riga in una stringa costante usa il \n sequenza di fuga.

Le costanti di carattere ASCII racchiuse tra virgolette doppie possono essere utilizzate anche in
espressioni aritmetiche se uno degli operandi è an int. Il singolo personaggio
costante di stringa devono obbligatoriamente: essere una costante e non può essere a stringa variabile.

Allo stesso modo, le costanti di caratteri ASCII racchiuse da virgolette singole possono essere utilizzate in
situazioni in cui è previsto un operando stringa.

o stratagemma
Una struttura dati contenente una serie di dati accessibili individualmente stringa valori. quando
una lista contiene elementi, il suo primo elemento è indicato dall'indice 0.

o nulla
Usato con le definizioni di funzione per indicare che la funzione non restituisce a
valore.

Le variabili possono essere definite a livello globale così come a qualsiasi livello locale all'interno
funzioni. Quando definito all'interno delle funzioni, lo standard C ambito e regole di visibilità
applicare. Ad esempio, le variabili locali possono essere utilizzate solo da sole o nidificate più profondamente
blocchi, la loro visibilità è mascherata in blocchi nidificati più profondamente definendo un identico
variabile denominata all'interno di quei blocchi nidificati più profondamente. Le variabili sono fortemente tipizzate e
non può avere il tipo nulla.

Le variabili possono essere inizializzate quando vengono definite. Le inizializzazioni sono espressioni, che
può utilizzare funzioni predefinite o definite dall'utente, valori costanti e valori di variabili che sono
visibile nel punto di definizione.

PREDEFINITO COSTANTI


Le seguenti costanti sono predefinite da icmake. Tutti sono costanti int valori:

─────────────────────────────────
valore del simbolo destinato a
─────────────────────────────────
O_TUTTI 8 makelist
O_DIR 2 lista di make up
O_FILE 1 lista di creazione
O_SUBDIR 4 lista di make up
─────────────────────────────────
OFF 0 eco
ON 1 eco
─────────────────────────────────
P_CHECK 0 chiamate di sistema
P_NOCHECK 1 chiamate di sistema
─────────────────────────────────
S_IEXEC 32 stat
S_IFCHR 1 stat
S_IFDIR 2 stat
S_IFREG 4 stat
S_IREAD 8 stat
S_IWRITE 16 stat
─────────────────────────────────

Le seguenti costanti dipendono dall'architettura:

? ?
simbolo 1 quando definito in piattaforma, altrimenti 0
? ?
unix Unix, solitamente con il compilatore gcc di GNU
UNIX potrebbe essere disponibile in alternativa
linux x86 con Linux (di solito con gcc)
LINUX potrebbe essere disponibile in alternativa
M_SYSV, M_UNIX x86 con SCO/Unix
_POSIX _SOURCE Unix con compilatore compatibile con Posix
__hpux HP-UX, con il compilatore HP nativo
? ?

OPERATORI


int-digitato operando(i):

Tutti C sono disponibili operatori (ad eccezione degli operatori puntatore, come icmake non supporta
puntatori). Funzionano come loro C-corrispondenti al linguaggio di programmazione.

tipo stringa operando(i):

Nel stringa variabili di tipo e/o costanti sono disponibili i seguenti operatori (a ed b
rappresentare stringa variabili o costanti):

o a + b: restituisce un nuovo stringa valore contenente la concatenazione di stringa valori a
ed b. Nota che stringa le costanti possono essere concatenate direttamente (senza usare il +
operatore), ad esempio, le due righe seguenti definiscono entrambe la stringa "Ciao mondo":

"Ciao mondo"
"ciao" + "mondo"

o a += b: a deve essere un stringa variabile, a cui stringa variabile o valore b is
aggiunto.

o confronti di stringhe: operatori == != <= >= < > != ed == può essere applicato a stringa
valori o variabili, restituendo 1 se il confronto ha esito positivo, altrimenti 0.
Il confronto fa distinzione tra maiuscole e minuscole e segue l'ordine o i caratteri come definiti
nel ASCII insieme di caratteri.

o !a: il booleano ! (not) l'operatore restituisce 1 se il stringa a è vuoto, altrimenti 0 è
restituito.

o a minore b, a più nuovo b: restituisce 1 se file a è più recente del file b. Per esempio,
"fonte.cc" più nuovo "fonte.o". I file a ed b non devono esistere: se entrambi non esistono
esiste 0 viene restituito; Se b non esiste, viene restituito 1; Se a non esiste 0 è
restituito; se sono ugualmente vecchi viene restituito 0. (il esiste() funzione predefinita
(vedi sotto, sezione PREDEFINITO FUNZIONI) può essere utilizzato per verificare esplicitamente se a
il file esiste).

o a maggiore b: diventa 1 se file a è più vecchio del file b. Per esempio, "libprog.a" maggiore
"fonte.o". I file a ed b non devono esistere: se entrambi non esistono 0 è
restituito; Se a non esiste, viene restituito 1; Se b non esiste 0 viene restituito; Se
sono ugualmente vecchi 0 viene restituito.

o []: l'operatore indice recupera un carattere da una variabile stringa o da una costante: it
restituisce una stringa come an valore. Pertanto, la seguente istruzione compila OK:

// presumo che str1 e str2 siano stringhe
str1 = str2[3];

ma la seguente dichiarazione non verrà compilata:

str2[3] = "un";

Viene restituita una stringa vuota se viene fornito un valore di indice non valido.

o L'operatore `backtick` (`stringa cmd')
Una stringa posta tra due apici inversi viene eseguita da pope(3) funzione. Il
lo standard output generato dal comando memorizzato nell'argomento stringa è
restituito come elenco. Un elenco vuoto indica che non è stato possibile eseguire il comando.
Un comando che può essere eseguito ma non ha prodotto alcun output restituisce un elenco
contenente un elemento vuoto. L'output del flusso di errore standard del comando non è
raccolti dall'operatore backtick. Tuttavia, il reindirizzamento standard della shell potrebbe essere
utilizzato per raccogliere l'output del flusso di errore standard. Esempio:

printf(`"ls"`); // stampa gli elementi in
// la directory corrente

La funzione predefinita eval(stringa cmq) si comporta esattamente come il backtick
operatore: sono sinonimi.

lista-digitato operando(i):

Nel stratagemma tipo variabili e/o valori sono disponibili i seguenti operatori:

o a + b: restituisce un nuovo stratagemma valore contenente la concatenazione di stratagemma valori a ed
b. Questo è non un'operazione set: se un elemento appare sia in a e in b, lo faranno
appaiono due volte nell'elenco risultante (l'aggiunta di set è fornita dal built-in
function listunion).

o a - b: restituisce un nuovo stratagemma valore contenente gli elementi in a che non sono presenti
in b. Questo is un'operazione di set-difference: l'elenco restituito contiene tutti gli elementi
in a che non sono elementi di b.

o a += b: elementi in b sono aggiunti agli elementi in a, che deve essere a stratagemma
variabile. Questo è non un'operazione prestabilita.

o a -= b: elementi in b vengono rimossi dagli elementi in a, che deve essere a stratagemma
variabile. Questo is un'operazione impostata: tutti gli elementi di a che si trovano in b sono
rimosso da a.

o elenco confronti di uguaglianza: operatori != ed == può essere applicato a stratagemma valori o
variabili. Operatore == restituisce 1 se entrambe le liste hanno elemento per elemento identico
elementi, altrimenti viene restituito 0. Operatore != inverte il risultato di ==.

o !a: il booleano ! l'operatore restituisce 1 se il stratagemma a è vuoto, altrimenti 0 è
restituito.

o []: l'operatore indice recupera un elemento di lista da una variabile di lista: restituisce a
stringa come an valore. Pertanto, la seguente istruzione compila OK:

// presumo che lst sia una lista, str sia una stringa
str = lst[3];

ma la seguente dichiarazione non verrà compilata:

lst[3] = str;

Viene restituita una stringa vuota se viene fornito un valore di indice non valido.

casting:

I calchi tipo possono essere eseguiti utilizzando lo standard C cast-operatore per lanciare:

o Stringhe in int e viceversa ((int)"123", (stringa) 55)

o Stringhe in elenchi (stratagemma LST = (lista)"ciao")

FLOW CONTROLLO


Imake offre il seguente sottoinsieme di Cle dichiarazioni. Possono essere usati come nel C
linguaggio di programmazione.

o espressione ;
L'istruzione di espressione semplice;

o L'affermazione composta
Le variabili di qualsiasi tipo possono essere definite e inizializzate ovunque all'interno di qualsiasi composto
dichiarazione. Il visibilità di una variabile inizia dal suo punto di definizione.

o if (condizione) dichiarazione
All'interno della condizione può essere definita e inizializzata una variabile. Per esempio,

se (stringa str = getText())
processo(str);

In questo esempio, processi non si chiama se getText () restituisce una stringa vuota. Il
variabile str non esiste né prima né dopo il if .

o if (condizione) dichiarazione altro dichiarazione
Come per l'istruzione precedente, all'interno della condizione può essere definita una variabile e
inizializzato.

o per (dentro; condizione; incremento) dichiarazione
Le variabili (di un solo tipo) possono essere inizializzate (e facoltativamente definite) nel
init sezione. Il init, condizione ed incremento le sezioni possono rimanere vuote. Il
la sezione della condizione vuota viene interpretata come "sempre" vero'.

o while (condizione) dichiarazione
All'interno della condizione può essere definita e inizializzata una variabile.
Un complemento do ... mentre () dichiarazione non disponibile. Nota che definendo a
variabile, l'uso di un'espressione di inizializzazione significa che l'inizializzazione
l'espressione viene eseguita ad ogni iterazione del while dichiarazione. Quindi quanto segue
l'istruzione non finirà mai e visualizzerà un flusso infinito di valori 10:

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

o ritorno;e ritorno espressione;
pianura ritorno le dichiarazioni possono essere utilizzate in nulla funzioni, e ritorno espressione
le istruzioni vengono utilizzate in altri tipi di funzioni. La funzione principale ha un tipo di ritorno
nulla e così dentro principale solo pianura ritorno dichiarazioni possono essere utilizzate. Per impostazione predefinita e icmake
il valore di uscita dello script è uguale a 0. Usa la funzione integrata exit (vedi sotto) per specificare
qualsiasi altro valore di uscita.

Be consigliato: il comportamento delle funzioni non void che non restituiscono valori non è definito.

o rompere
Foglie per ed while dichiarazioni, annullando la condizione della dichiarazione.

o continua
Continua con la prossima iterazione di a per or while .

o uscita (espressione)
Termina l'esecuzione di an icmake-script. Il espressione deve valutare un int
value, che diventa il valore di uscita dello script.

PREDEFINITO FUNZIONI


Imake offre le seguenti funzioni predefinite, che possono essere utilizzate ovunque in icmake
script. La seguente panoramica è ordinata in ordine alfabetico per nome della funzione.

o nulla arghead(stringa h)
Funzione di supporto di exec () (vedi anche sotto a exec ()): definisce la "testa dell'argomento",
da usare con exec (). Per impostazione predefinita, l'argomento "head" è una stringa vuota.

o nulla coda (corda t)
Funzione di supporto di exec () (vedi anche sotto a exec ()): definisce la "coda dell'argomento",
da usare con exec (). Per impostazione predefinita, la `coda dell'argomento' è una stringa vuota.

o int ascii (stringa s)
Restituisce il primo carattere di s come un int; per esempio, asci("A") restituisce 65;

o stringa ascii (int i)
Reso i come una stringa, ad es. ascii(65) restituisce la stringa "A";

o stringa change_base(stringa file, stringa nuova base)
Cambia il nome di base di filetto, restituisce il nome modificato. Per esempio,
change_base("/percorso/demo.im", "fuori") problemi "/percorso/uscita.im";

o stringa change_ext(stringa file, stringa nuovoavanti)
Modifica l'estensione di filetto, restituisce il nome modificato. Per esempio,
rss_changeExt("sorgente.cc", "o") problemi "fonte.o";

o stringa change_path (stringa file, stringa nuovo percorso)
Modifica la specifica del percorso di filetto, restituisce il nome modificato. Per esempio,
change_path("tmp/binary", "/ Usr / bin") problemi "/usr/bin/binario". Si noti che il
/-separatore è inserito se richiesto.

o stringa chdir(stringa nuova dir)
Cambia la directory di lavoro dello script, restituisce la directory precedente come assoluta
sentiero.

Usa il chdir(".") per ottenere la directory di lavoro corrente, chdir("") può essere utilizzato per
ottenere la directory di lavoro di avvio (questa funzionalità è stata interrotta nelle versioni
prima delle 7.00, ma ora è operativo). La funzione termina il
icmake-script se specificato nuova directory non esiste.

o stringa chdir(int controllo, stringa nuova dir)
Stessa funzionalità della funzione precedente, ma specificando verifica as
P_NOCHECK. la funzione non terminerà lo script. Piuttosto, restituirà il
directory di lavoro corrente dello script.

o cmdhead(stringa h)
Funzione di supporto di exec () (vedi anche sotto a exec ()): definisce una `testa di comando', to
essere utilizzato con exec (). Per impostazione predefinita, l''intestazione di comando' è una stringa vuota.

o cmdtail(stringa t)
Funzione di supporto di exec () (vedi anche sotto a exec ()): definisce una `coda di comando', a
essere utilizzato con exec (). Per impostazione predefinita, la `coda di comando' è una stringa vuota.

o eco(int optare)
Controlla l'eco dei programmi chiamati (e dei loro argomenti), specificare OFF se echeggia
non è richiesto. Per impostazione predefinita eco (ON) viene utilizzato.

o stringa elemento (int indice, stratagemma (o corda) variabile)
Agisce in modo identico all'operatore indice: fare riferimento all'indice ([]) operatore in
pagina OPERATORI.

o stratagemma eval(stringa stra)
Questa funzione agisce in modo identico all'operatore backtick. L'esempio fornito con
l'operatore backtick potrebbe quindi anche essere stato scritto così:

printf(eval("ls")); // stampa gli elementi nella corrente
// cartella

o exec(stringa cmd, ...)
Esegue il comando con argomenti. Ogni argomento sarà preceduto da testa argo()'S
argomento e postfixed da coda()l'argomentazione. Notare che non vengono inseriti spazi vuoti
fra testa argo()il contenuto, l'argomento vero e proprio, e coda()l'argomentazione. Tutto
gli argomenti così modificati vengono concatenati, questa volta separati da singoli spazi, e
poi cmdhead()i contenuti di sono inseriti tra il comando e il primo argomento
(su entrambi i lati delimitato da spazi vuoti) e coda di comando()i contenuti di s sono allegati
agli argomenti (di nuovo, separati da un singolo spazio). PERCORSO viene cercato per individuare
cmd. viene restituito 0.

o esecu (int controlla cmd, stringa cmd, ...)
Stessa funzionalità della funzione precedente, ma specificando verifica as
NON_CONTROLLATO la funzione non terminerà lo script. Piuttosto, restituirà il
chiamato stato di uscita del comando, oppure 0x7f00 se il comando non è stato trovato.

o eseguire (stringa cmd, stringa cmdd, stringa arghd, ..., stringa argtl, stringa cmdl)
Uguale a exec (), ma è necessario specificare il comando head/tail e l'argomento head/tail.

Il comando effettivamente eseguito inizia con cmd, Seguita da cmdd. La prossima è una serie
di argomenti segue, ciascuno racchiuso da argh ed arg. Il comando termina con
cmdtl. 0 viene restituito

o eseguire (int controllo, stringa cmd, stringa cmdd, stringa arghd, ..., stringa argtl,
stringa cmdl)
Stessa funzionalità della funzione precedente, ma specificando verifica as
NON_CONTROLLATO la funzione non terminerà lo script. Piuttosto, restituirà il
chiamato stato di uscita del comando, oppure 0x7f00 se il comando non è stato trovato.

o int esiste (stringa file)
Restituisce un valore diverso da zero se filetto esiste, altrimenti viene restituito 0.

o stratagemma fget (stringa) file, stratagemma compensare)
NOTA: in icmake versione 8.00.00 il prototipo di questa funzione è stato cambiato da
stratagemma fget (stringa) file, int compensare) a stratagemma fget (stringa) file, stratagemma compensare).

La riga successiva trovata all'offset contenuto in offset viene letto da filetto. Passa e
lista vuota per fget leggere filetto dal suo inizio.

Restituisce una lista contenente come primo elemento il contenuto della riga letta
(senza il \n terminatore di riga), come secondo elemento il terminatore di riga `\n'
(se incontrato), e come terzo elemento la stringa OK se una linea è andata a buon fine
Leggi, FAIL se la lettura dal file non è riuscita. Quando si legge a EOF una lista vuota è
restituito. L'elenco restituito può contenere elementi aggiuntivi, che sono internamente
utilizzato da fget durante la lettura della riga successiva.

Per leggere più righe, inizia passando un elenco vuoto come ottiene secondo argomento.
Per leggere le righe successive, passa la lista precedentemente restituita a fgets secondo
discussione.

Ecco un esempio che mostra come leggere un file completo:

lista ret;
while (1)
{
ret = fgets("nomefile", ret);
se (!ret)
break;
processo(ret[0], ret[1]);
}

o int fprintf(stringa nome del file, ...)
Aggiunge tutti gli argomenti (separati da virgole) al file Nome del file. Restituisce il numero di
argomenti stampati.

o int fprintf(stringa nome del file, stringa formato, ...)
Aggiunge tutti gli argomenti (separati da virgole) al file Nome del file. Restituisce il numero di
argomenti stampati.

If formato contiene i segnaposto %1 .. %n l'outputèformattato (vedi anche
formato str). Nota che in questo caso il conteggio degli argomenti (anche) inizia oltre il
stringa di formato: il primo argomento che segue formato è indicato come %1.

o stringa get_base (stringa) file)
Restituisce il nome di base di filetto. Il nome di base è il file senza il prefisso del percorso
e senza la sua estensione. L'estensione è tutte le informazioni a partire dalla finale
punto nel nome del file. Se non viene trovato alcun punto finale, il nome del file è il nome di base.
Ad esempio, il nome di base di ab uguale a, il nome di base di abc uguale ab, la base
nome di a/b/c uguale c.

o stringa prendi ()
Restituisce il successivo tasto premuto come stringa (non è necessario premere 'Invio').

o stringa get_dext(stringa) file)
Restituisce l'estensione di filetto, compreso il punto di separazione. L'estensione è tutto
informazioni a partire dal punto finale del nome del file.

Se non viene trovato alcun punto finale, viene restituita una stringa vuota.

o stratagemma getenv(stringa ambiente)
Restituisce il valore della variabile d'ambiente ambiente in una lista contenente due elementi:

il primo elemento indica se la variabile d'ambiente è stata definita (valore
"1") o no (valore "0");
il secondo elemento indica il valore della variabile d'ambiente.

Le variabili d'ambiente sono della forma variabile=valore, e se definito l'elenco's
il secondo elemento contiene APPREZZIAMO. Se il valore è vuoto, la variabile è definita, ma
non ha testo associato.

o stringa get_ext(stringa file)
Restituisce l'estensione di filetto, ad eccezione del punto di separazione. L'estensione è tutto
informazioni a partire dal punto finale nel nome del file.

Se non viene trovato alcun punto finale, viene restituita una stringa vuota.

o int getpid()
Restituisce l'id del processo dell'interprete del codice byte icmake icm-exec.

o stringa prende()
Restituisce la riga successiva letta dalla tastiera come a stringa. La linea inserita nel
la tastiera deve essere terminata da un tasto 'Invio', che non è memorizzato nel restituito
stringa.

o stringa get_path (stringa) file)
Restituisce il prefisso del percorso di filetto. Il prefisso del percorso è tutte le informazioni fino a (e
compreso) il separatore di directory finale (che è, a seconda del funzionamento
sistema, una barra in avanti o indietro).

Se non viene trovato alcun percorso, viene restituita una stringa vuota.

o int listfind(lista primo, stringa stra)
Restituisce il primo indice in LST dove la stringa str viene trovato, o -1 se LST non
contenere str.

o int ascolta (lista) l)
Restituisce il numero di elementi in stratagemma.

o stratagemma listaunione(lista lh, stratagemma dx)
Restituisce una lista contenente l'unione degli elementi in ss ed RHS.

o stratagemma listaunione(lista primo, stringa stra)
Restituisce una lista contenente l'unione degli elementi in LST ed str.

o stratagemma makelist (stringa) maschera)
Restituisce un elenco di tutti i file corrispondenti mask. Per esempio, makelist("*.c") restituisce una lista
contenente tutti i file che terminano con .c.

o stratagemma makelist (tipo, stringa maschera)
Uguale alla funzione precedente, ma il tipo degli elementi della directory potrebbe essere
specificato come primo argomento:

significato del simbolo
IS_ALL ottiene tutte le voci della directory
IS_DIR ottiene tutte le directory, incluso . e ..
IS_FILE ottiene un elenco di file
IS_SUBDIR ottiene tutte le sottodirectory

Nota che il modello * non corrisponderà alle voci nascoste sotto il funzionamento di tipo Unix
sistemi. Utilizzo .* per quello.

o stratagemma makelist (stringa) maschera, più nuovo, stringa file di confronto)
Restituisce l'elenco di tutti i file corrispondenti alla maschera che sono più recenti di una fornita
file di confronto. Operatore minore può essere utilizzato al posto di più nuovo. Nota che più nuovo ed
minore sono operatori, non stringhe.

o stratagemma lista dei prodotti ([int = IS_FILE,] stringa maschera, più nuovo, stringa file di confronto)
Uguale alla funzione precedente, ma Digitare può essere specificato come in stratagemma makelist (tipo,
stringa maschera).

o makelist (stringa) maschera, più vecchio, stringa file di confronto)
Vedi sopra; restituisce un elenco di file più vecchi del file di confronto.

o makelist (tipo, stringa maschera, più vecchio, stringa file di confronto)
Uguale alla funzione precedente, ma Digitare può essere specificato come in stratagemma makelist (tipo,
stringa maschera).

o int stampaf(...)
Mostra tutti gli argomenti (separati da virgole) sullo schermo (ovvero, il flusso di output standard).
Restituisce il numero di argomenti stampati.

o int printf(stringa formato, ...)
Mostra tutti gli argomenti (separati da virgole) sullo schermo (ovvero, il flusso di output standard).
Restituisce il numero di argomenti stampati (il formato stringa conta come un argomento).

If formato contiene i segnaposto %1 .. %n l'outputèformattato (vedi anche
formato str).

o int putenv(stringa ambiente)
Aggiunge ambiente alla corrente (icmake) ambiente Utilizzare il formato: "VAR=valore".
Restituisce 0.

o stringa ridimensiona (stringa) forza, int nuova lunghezza) Restituisce una copia di string str, ridimensionato a
nuovalunghezza caratteri. Se nuovalunghezza è negativo, viene restituita una stringa vuota,
if nuovalunghezza supera str's length, vengono inizializzati i caratteri appena aggiunti
agli spazi vuoti.

o int sizeof(lista l)
Deprecato: uso ascolta.

o int sizeoflist(lista l)
Deprecato: uso ascolta.

o stratagemma stat(stringa iscrizione)
Reso stat(2) informazioni sulla voce della directory iscrizione come elenco. La lista restituita
ha due elementi: l'elemento 0 è il attributo APPREZZIAMO, l'elemento 1 contiene la dimensione di
il file.

Gli attributi vengono restituiti come bit-flag, composti dai seguenti predefiniti
costanti:

S_IFCHR S_IFDIR S_IFREG
S_IREAD S_IWRITE S_IEXEC

Vedere la stat(2) pagina di manuale per i significati di queste costanti.

o stratagemma stat (verifica, stringa iscrizione)
Uguale alla funzione precedente, ma specificando verifica as P_NOCHECK la funzione
non terminerà lo script. Anzi, ritorna stat(2) il valore di ritorno.

o int strhr(stringa forza, stringa caratteri)
Restituisce il primo indice in str dove uno dei caratteri in caratteri si trova, o -1
if str non contiene nessuno dei caratteri in caratteri.

o int strlen(stringa stra)
Restituisce il numero di caratteri in str (senza contare lo 0 finale).

o int strfind(stringa pagliaio, stringa ago)
Indice di rendimento in pagliaio where ago viene trovato, o -1 se ago non è contenuto
in pagliaio.
La sezione function Prima detto strstr() in versioni prima 7.00.

o int strformat(stringa formato,...)
Restituisce una stringa formattata utilizzando i segnaposto %1 .. %2 per indirizzare gli argomenti
seguente formato.
Esempio:

void main ()
{
int i = 10;
intj = 20;
stringa s1;
stringa s2;
// approccio tradizionale:
s1 = (stringa)i + " " + (stringa)j + " " + (stringa)i;
// usando strformat:
s2 = strformat("%1 %2 %1", i, j);
printf("s1 = %1, s2 = %2\n", s1, s2);
}

o stringa strlwr(stringa s)
Restituisce un duplicato minuscolo di s.

o stratagemma strtok (stringa forza, stringa separatori)
Restituisce un elenco contenente tutte le sottostringhe di str separati da uno o più
(consecutivi) caratteri in separatori. Per esempio, strtok("ciao icmake's+mondo", " +")
restituisce la lista contenente le tre stringhe "Ciao", "icmake"e "mondo".

o stringa strupr(stringa s)
Restituisce un duplicato maiuscolo di s.

o stringa substr(stringa testo, int compensare, int contare)
Restituisce una sottostringa di testo, A partire offset, consiste in contare caratteri. Se
offset supera (o eguaglia) la dimensione della stringa o se contare <= 0, quindi una stringa vuota
viene restituito. Se offset è minore di 0, viene utilizzato 0.

o int sistema(stringa di comando)
esegue command. Il valore restituito indica il valore di uscita del comando eseguito. Il
stringa command può contenere caratteri di reindirizzamento e/o pipe.

o int sistema(int controllo, stringa di comando)
Stessa funzionalità della funzione precedente, ma specificando verifica as
NON_CONTROLLATO la funzione non terminerà lo script. Piuttosto, restituirà il
chiamato stato di uscita del comando, oppure 0x7f00 se il comando non è stato trovato.

o stringa trim (stringa) s)
Restituisce una copia di s senza spazi bianchi iniziali e finali.

o stringa trimsinistra (stringa) stra)
Restituisce una copia di s senza spazi bianchi iniziali.

o stringa trim (stringa) s)
Restituisce una copia di s senza spazi bianchi finali.

UTENTE DEFINITO FUNZIONI


nulla principale

Imake gli script devono essere dotati di una funzione definita dall'utente principale. La funzione principale ha
tre parametri opzionali, che possono essere omessi dall'ultimo (ambiente) al primo
(argomento), come in C. Il suo prototipo completo è (nota: nulla tipo di ritorno):

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

In principale(),

o argomento rappresenta il numero di elementi in arv;

o arv contiene gli argomenti, con l'elemento 0 uguale al nome del .bim
file;

o ambiente contiene le variabili di "ambiente". La funzione ascolta può essere utilizzato per
determinare il numero dei suoi elementi. Elementi in ambiente avere la forma
variabile=valore. In alternativa, la funzione getenv può essere utilizzato per recuperare a
specifica variabile di ambiente immediatamente. Esempio:

void main(int argc, lista argv)
{
elenco da compilare;
int idx;

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

if (toCompile = alterato("*.cc"))
{
for (idx = lunghezza(toCompile); idx--; )
compile(elemento(idx, toCompile));

if (getenv("dryrun")[0] == "0")
collegamento(elemento(2, argv));
}
}

Dopo aver inizializzato tutte le variabili globali nell'ordine delle loro definizioni principale è chiamato da
icmakeil sistema di supporto in fase di esecuzione per eseguire attività aggiuntive.

Inoltre definito Utente funzioni

Possono essere definite funzioni aggiuntive. Una volta definite, queste funzioni possono essere chiamate. Inoltrare
il riferimento a variabili o funzioni non è supportato, ma chiamando in modo ricorsivo
funzioni è. Poiché le dichiarazioni di funzione non sono supportate, la ricorsione indiretta non lo è
supportato neanche.

Le funzioni definite dall'utente devono avere i seguenti elementi:

o Il tipo di ritorno della funzione, che deve essere uno tra vuoto, intero, stringa or stratagemma. Ci
non è un tipo predefinito.

o Il nome della funzione, ad es. compilare.

o Un elenco di parametri, che definisce zero o più parametri separati da virgole. I parametri
stessi sono costituiti da un nome di tipo (intero, stringa, o stratagemma) seguito da
identificatore del parametro. Per esempio, (corda uscita, stringa fonte).

l'a stile di vita circondato da un paio di parentesi graffe ({ ed }).

I corpi delle funzioni possono contenere definizioni di variabili (facoltativamente inizializzate). Variabile
le definizioni iniziano con un nome di tipo, seguito da una o più virgole separate (facoltativamente
inizializzato) identificatori di variabili. Se una variabile non è inizializzata esplicitamente lo è
inizializzato per impostazione predefinita. Per impostazione predefinita e int la variabile è inizializzata a 0, a stringa is
inizializzato con una stringa vuota ("") E stratagemma è inizializzato a un elenco di zero elementi.

Oltre alle definizioni delle variabili, i corpi possono contenere zero o più istruzioni (cfr.
pagina FLOW CONTROLLO). Nota che le variabili possono essere definite (e facoltativamente inizializzate)
ovunque all'interno delle funzioni, e anche in Se, per ed while dichiarazioni.

Il comportamento di icmake-script che utilizzano funzioni non void che non restituiscono valori non lo sono
definito.

Usa icmun online utilizzando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

  • 1
    Phaser
    Phaser
    Phaser è un open veloce, gratuito e divertente
    framework di gioco HTML5 di origine che offre
    Rendering WebGL e Canvas attraverso
    browser Web desktop e mobili. Giochi
    può essere co...
    Scarica Phaser
  • 2
    Motore VASSAL
    Motore VASSAL
    VASSAL è un motore di gioco per creare
    versioni elettroniche della scheda tradizionale
    e giochi di carte. Fornisce supporto per
    rendering e interazione dei pezzi di gioco,
    e ...
    Scarica il motore VASSAL
  • 3
    OpenPDF - Fork di iText
    OpenPDF - Fork di iText
    OpenPDF è una libreria Java per la creazione
    e la modifica di file PDF con un LGPL e
    Licenza open source MPL. OpenPDF è il
    LGPL/MPL successore open source di iText,
    un ...
    Scarica OpenPDF - Fork di iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Sistema per Automatizzato
    Analisi Geoscientifiche - è un Geografico
    Software del sistema informativo (GIS) con
    immense capacità per i dati geografici
    elaborazione e ana...
    Scarica SAGA GIS
  • 5
    Toolbox per Java/JTOpen
    Toolbox per Java/JTOpen
    IBM Toolbox per Java / JTOpen è un
    libreria di classi Java che supportano il
    client/server e programmazione internet
    modelli su un sistema che esegue OS/400,
    i5/OS, o...
    Scarica Toolbox per Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (o D3 per i documenti basati sui dati)
    è una libreria JavaScript che ti consente
    produrre dati dinamici e interattivi
    visualizzazioni nei browser web. Con D3
    tu...
    Scarica D3.js
  • Di Più "

Comandi Linux

  • 1
    adiff
    adiff
    abidiff - confronta gli ABI dei file ELF
    abidiff confronta il binario dell'applicazione
    Interfacce (ABI) di due librerie condivise
    in formato ELF. Emette un significato
    rapporto...
    Esegui abidif
  • 2
    abidw
    abidw
    abidw - serializza l'ABI di un ELF
    il file abidw legge una libreria condivisa in ELF
    formato ed emette una rappresentazione XML
    del suo ABI all’output standard. IL
    emesso...
    Corri costantemente
  • 3
    copac2xml
    copac2xml
    bibutils - conversione della bibliografia
    utilità...
    Esegui copac2xml
  • 4
    copto
    copto
    copt - ottimizzatore spioncino SYSNOPIS:
    copt file.. DESCRIZIONE: copt è un file
    ottimizzatore spioncino generico. Esso
    legge il codice dal suo input standard e
    scrive un...
    Corri copto
  • 5
    collect_stx_titles
    collect_stx_titles
    collect_stx_titles - raccogli il titolo
    dichiarazioni da documenti Stx...
    Eseguire collect_stx_titles
  • 6
    panca-gatling
    panca-gatling
    panca - benchmark http ...
    Esegui gatling-panca
  • Di Più "

Ad