ERFORTICATE 2 C -Funktion

ERFORTICATE 2 C -Funktion
„Die Funktion von Fallocate () wird so verwendet, dass der Anrufer den für die von FD verwiesenen CD-Speicherplatz direkt ändern kann. Mit OFFOCate können Sie den Disc-Speicherplatz, der einer Datei zugewiesen wurde. Die Preallocation wird schnell für Dateisysteme abgeschlossen, die den Fallcontocate -System -Aufruf durch Zuweisen von Blöcken und als nicht initialisierte Bezeichnung implementieren und keine IO für die Datenblöcke benötigen. Dies ist viel schneller als eine Datei zu erstellen, indem alle Nullen hineingelegt werden. Die Funktion von aFFocate () gibt einen Erfolg oder einen Ausstiegsstatus von 0 oder 1 zurück.

In diesem Handbuch werden wir diese Idee ausführlich durchgehen und Beispiele für C -Programme geben, die die Funktion „fallCecate ()“ verwenden. Darüber hinaus werden wir die Syntax der Funktion „AFFOCate ()“ in diesem Handbuch durchlaufen und zeigen, wie sie bei der Programmierung in C Parameter an sie senden können.”

Syntax
Das Folgende ist die Syntax der Funktion „Fallocate ()“: Sie können die Parameter dieser Funktion „fallCate ()“ im C -Code leicht erfassen, indem Sie sich diese ansehen.

int fallcontocate (int fd, int modus, off_t offset, off_t len);

Die Operation, die am jeweiligen Bereich ohnmächtig wird, wird durch den Modusparameter bestimmt. Der Fallcontocate () weist den Scheibenraum im "Offset" und "Len" -Specified Reichweite als Standardoperation zu (Modus ist Null). Wenn „Offset und Len“ mehr als der Dateibereich sind, wird die Dateigröße angepasst. Jedes Subregion im Bereich, der durch „Offset“ und „Len“ definiert ist, der vor dem Anruf leer war. Dieses Standardverhalten, das darauf abzielt, die Funktion der POSIX -Fallokal (3) Bibliotheksfunktion so effizient wie möglich zu implementieren, ist der dieser Funktion sehr ähnlich.

Ein lukrativer Anruf garantiert, dass weiter in den von „Len“ und „Offset“ definierten Bereich schreibt.

Beispiel 1

Die Beispiele in diesem Handbuch werden Ubuntu 20 verwenden.04. Wenn Sie GCC installieren, müssen nach der Installation von Ubuntu 20 einige Anweisungen ausgeführt werden.04. Durch die Installation des GCC -Compilers können wir diesen C -Programmiercode in Ubuntu 20 ausführen.04. Wenn Ubuntu 20.04 hat diesen Compiler geladen. Wir öffnen den Texteditor für die Codierung und beginnen mit dem Eingeben von Codezeilen, die die Funktion „setEnv ()“ der C -Programmiersprache verwenden.

Zu Beginn des C -Codes verwenden wir mehrere Header -Dateien. Das einzige, was wir beim Schreiben von C -Code tun müssen, ist, die Header -Dateien einzuschließen. Andernfalls hat unser C -Code nicht die Funktionen, die wir brauchen. Wie Sie in diesem Beispiel überprüfen können, haben wir das „FCNTL. H ”Header -Datei. Dann die Standardeingangs- und Ausgabe -Header -Datei „StDIO.H “wurde in der zweiten Zeile des Codes positioniert. Anschließend fügen wir eine zweite Header -Datei hinzu, "errno", der Ganzzahlwert errno, der im Falle eines Fehlers, etwas schief gelaufen ist.h Header -Datei der C -Programmierbibliothek C -Programmierbibliothek.

Danach haben wir „String“. H, “, eine Header -Datei, die die Deklaration der Funktion, die Typen sowie die Funktionsabwicklungsfunktionen enthält. Jetzt haben wir die Funktion „main ()“ und müssen diese Funktion auch als "int" -Datentyp deklarieren, daher setzen wir diese Funktion hier als "int main ()" ein. Wir deklarieren dann eine variable "fd" des "int" -Datentyps und platzieren die Funktion "open ()" hier. Wir verwenden diese Funktion „Open ()“, die zum Lesen, Schreiben oder Öffnen der Datei für beide verwendet wird.

Wenn Sie nicht im selben Verzeichnis wie die Datei arbeiten, verwenden Sie einen absoluten Pfad, der mit „/“ beginnt. Verwenden Sie bei der Arbeit im selben Verzeichnis wie die Datei einen relativen Pfad, der nur aus dem Dateinamen und seiner Erweiterung besteht. Hier bedeutet das "0_Wronly", dass wir die Datei nur zum Schreiben öffnen, und der "O_Creat" wird verwendet, um eine Warnung zu erhalten, wenn die Datei bereits vorhanden ist. Das S_IRUSR ist eine globale Konstante im POSIX -SYS/STAT. H Datei. User Read Authorization Bit heißt es heißt, es heißt es. Das Präfix S_ könnte "Status von", "RUSR" oder "Lesen des Benutzers" bedeuten,. Dann haben wir "s_iwusr".

Setzen Sie für den Eigentümer der Datei das Schreibautorisierungsbit. Im Folgenden haben wir den Zustand "If" und platzieren die Bedingung, dass "fd" gleich "-1" ist. Wenn die Bedingung wahr ist, wird die Funktion „perror ()“ verwendet. Dieser „Perror“ wird zum Drucken der Fehlermeldung an STDERR verwendet. Dann deklarieren und initialisieren wir die "int" -Variable mit dem Namen "Status" und platzieren die Funktion "posix_fallocate" hier und übergeben drei Parameter. Das „FD“ ist der erste Parameter, "0" wird als zweiter Parameter verwendet, und dann haben wir "100" als dritter Parameter dieser "Fallocate" -Funktion.

Unterhalb dieser Bedingung der Anweisung "if" lautet "Status"! = 0 ”. Wenn es zutrifft, wird die Anweisung "printf" ausgeführt, um den Fehler auf dem Bildschirm zu drucken, und wir haben auch die "Rückgabe 0" am Ende dieses Code.

Abschluss

Dieses Handbuch zeigt, wie man die C -Programmierfunktion „fallCode ()“ verwendet. Die Funktion „fallCode ()“ wurde hier vollständig beschrieben, zusammen mit Beispielen für die Verwendung in der C -Programmierung. Um zu verstehen, wie Sie die Funktion c „fallCode ()“ verwenden und wie das Ergebnis zurückgibt, haben wir auch den Beispielcode aufgenommen. Wie bereits erläutert, wird die Methode „fallCode ()“ in der C-Programmierung verwendet, damit der Anrufer den für die von FD verwiesenen CD. Wir haben auch über die Tatsache gesprochen, dass einige Parameter an die Funktion „fallCate ()“ übergeben werden müssen. Wir gehen davon aus.