Falocati funzione 2 C

Falocati funzione 2 C
“La funzione Fallocate () viene utilizzata in modo che il chiamante possa alterare direttamente lo spazio del disco allocato per il file a cui si fa riferimento da FD per un raggio di byte che inizia all'offset e va per Len Byte. Utilizzando Falocate, è possibile deallocare o pre-allocare lo spazio del disco che è stato assegnato a un file. La preallocazione viene completata rapidamente per i filesystem che implementano la chiamata di sistema fallocate allocando i blocchi e designandoli come non inizializzati, che non hanno bisogno di IO per i blocchi di dati. Questo è molto più veloce della creazione di un file inserendo tutti gli zeri. La funzione Fallocate () restituisce uno stato di uscita di successo o fallimento di 0 o 1.

In questo manuale, esamineremo questa idea in dettaglio e daremo esempi di programmi C che usano la funzione "Fallocate ()". Inoltre, esamineremo la sintassi della funzione "Fallocate ()" in questo manuale e dimostreremo come inviare parametri durante la programmazione in C."

Sintassi
Di seguito è riportata la sintassi della funzione "Fallocate ()": è possibile facilmente comprendere i parametri di questa funzione "Fallocate ()" nel codice C dando un'occhiata a questo.

int fallocate (int fd, mod in modalità, off_t offset, off_t len);

L'operazione da distribuire sull'intervallo particolare è determinata dal parametro della modalità. The Fallocate () alloca lo spazio del disco nell'intervallo "offset" e "Len" specificato come operazione predefinita (la modalità è zero). Se "Offset and Len" sono più dell'intervallo di file, la dimensione del file si regolerà. Qualsiasi sottoregione nell'intervallo definito da "offset" e "len" che era vuoto prima della chiamata avrà il suo valore iniziale impostato su zero. Questo comportamento predefinito, che mira a implementare la funzione della libreria Fallocate (3) Posix nel modo più efficiente possibile, è molto simile a quello di quella funzione.

Una chiamata redditizia garantisce che scrive ulteriormente sull'intervallo definito da "len" e "offset" non avrà successo a causa di uno spazio del disco insufficiente.

Esempio 1

Gli esempi in questo manuale utilizzeranno tutti ubuntu 20.04. L'installazione di GCC richiede l'esecuzione di alcune istruzioni dopo l'installazione di Ubuntu 20.04. L'installazione del compilatore GCC ci consentirà di eseguire questo codice di programmazione C in Ubuntu 20.04. Quando Ubuntu 20.04 ha caricato questo compilatore, apriamo l'editor di testo per la codifica e iniziamo a inserire righe di codice che utilizzerà la funzione "Setenv ()" del linguaggio C del linguaggio C.

All'inizio del codice C, impieghiamo diversi file di intestazione. L'unica cosa che dobbiamo fare durante la scrittura del codice C è includere i file di intestazione; Altrimenti, il nostro codice C non avrà le funzioni di cui abbiamo bisogno. Come puoi verificare in questo campione, abbiamo il "FCNTL. File di intestazione h ". Quindi il file di intestazione di input e output standard, "STDIO.h ", era posizionato sulla seconda riga del codice. Quindi aggiungiamo un secondo file di intestazione, "Errno", il valore intero Errno, prodotto dalle chiamate di sistema e alcuni metodi di libreria in caso di errore per identificare qualcosa è andato storto, è definito in Errno.H File di intestazione della libreria standard di programmazione C.

Dopo questo, abbiamo "String. H, "che è anche un file di intestazione che include la dichiarazione della funzione, i tipi e le funzioni di gestione delle stringhe. Ora abbiamo la funzione "main ()" e dobbiamo anche dichiarare questa funzione come un tipo di dati "int", quindi mettiamo questa funzione qui come "int main ()". Dichiariamo quindi una variabile "FD" del tipo di dati "int" e posizioniamo qui la funzione "open ()". Utilizziamo questa funzione "aperta ()" che viene utilizzata per leggere, scrivere o aprire il file per entrambi.

Quando non lavori nella stessa directory del file, usa un percorso assoluto che inizia con "/". Quando si lavora nella stessa directory del file, utilizzare un percorso relativo, che consiste solo dal nome del file e dalla sua estensione. Qui, "0_wronly" significa che stiamo aprendo il file solo per la scrittura e "O_Creat" viene utilizzato per ricevere un avviso se il file è già presente. S_IRUSR è una costante globale trovata nel Posix Sys/Stat. file h. Il bit di autorizzazione di lettura dell'utente è quello che si chiama. Il prefisso S_ potrebbe significare "stato di", "rusr" o "leggi dell'utente". Quindi abbiamo "s_iwusr".

Per il proprietario del file, imposta il bit di autorizzazione di scrittura. Di seguito, abbiamo la condizione "if" e poniamo la condizione che "FD" sia uguale a "-1". Se la condizione è vera, viene utilizzata la funzione "Perror ()". Questo "Perror" viene utilizzato per la stampa del messaggio di errore a Stderr. Quindi dichiariamo di nuovo e inizializziamo la variabile "int" denominata "stato" e posizioniamo qui la funzione "posix_fallocate" e passiamo tre parametri. Il "FD" è il primo parametro, "0" viene utilizzato come secondo parametro, e quindi abbiamo "100" come terzo parametro di questa funzione "Falocate".

Al di sotto di questa condizione dell'istruzione "if" è "Stato! = 0 ". Se è vero, l'istruzione "printf" verrà eseguita per stampare l'errore sullo schermo e abbiamo anche il "return 0" alla fine di questo codice.

Conclusione

Questo manuale dimostra come utilizzare la funzione di programmazione C "Fallocate ()". La funzione "Fallocate ()" è stata completamente descritta qui, insieme ad esempi di come usarla nella programmazione C. Per aiutarti a capire come utilizzare la funzione C "Fallocate ()" e come restituisce il risultato, abbiamo anche incluso il codice di esempio. Come è già stato spiegato, il metodo "Fallocate ()" nella programmazione C viene utilizzato in modo che il chiamante possa alterare direttamente lo spazio del disco allocato per il file a cui si fa riferimento da FD per un raggio di byte che inizia all'offset e va per Len Byte. Abbiamo anche parlato del fatto che alcuni parametri devono essere passati alla funzione "Fallocate ()". Prevediamo che questo manuale ti aiuterà nella tua comprensione delle funzioni di programmazione C e sarai in grado di farlo da solo.