Syntax
#enthaltenErläuterung der Syntax
Der BRK () -Systemaufruf bewirkt, dass das Programm in der Position des Enddatensegments durchbricht. Das Enddatensegment ist an die nächsten Seitengrenzen abgerundet, da der virtuelle Speicher in Seiteneinheiten zugewiesen wird. Versuche, den Programm des Programms unter seinem Anfangswert unter dem Wert zu senken, führen sicherlich zu unerwartetem Verhalten, z. Mehrere Faktoren bestimmen die genaue Obergrenze dafür, wo die Programmunterbrechung platziert werden kann.
Warum Brk () Systemanruf in C verwenden
Die BRK () -Funktion wird verwendet, um die dem Anruferprozess zugewiesene Speichermenge zu ändern. Die Änderung erfolgt durch Änderung des Bruchwerts des Prozesses in ADR und der Bereitstellung der erforderlichen Anzahl von Speicherplatz. Die BRK () -Funktion wird verwendet, um die dem Anruferprozess zugewiesene Speichermenge zu ändern. Wenn der Bruchwert steigt, ist auch die Menge des zugewiesenen Raums. Der neu zugewiesene Raum hat einen Wert von 0, der ihm zugewiesen ist. Die Werte des realgewierten Raum.
Voraussetzungen
Beispiel, um BRK () in C zu erklären
Wir haben das einfachste Beispiel entwickelt, um das Konzept für die Verwendung des BRK () -Systemaufrufs C in C auszuarbeiten. Erstellen wir eine Datei mit der .c Erweiterung mit dem Befehl nano in der Shell verwenden. Führen Sie den angehängten Befehl unten in der Shell aus:
$ nano brk1.CIn Linux-Betriebssystemen ist GNU Nano ein einfacher Befehlszeilen-Texteditor. Es verfügt über alle grundlegenden Merkmale, die Sie von einem Texteditor annehmen würden, sowie einige mehr. Bei der Ausführung wird die Datei im GNU -Editor geöffnet. Schreiben Sie den angezeigten Code in Ihrer Datei mit wenigen Änderungen in der IT abhängig von Ihren Arbeitsanforderungen.
In dem im obigen Screenshot angehängten Code wird die Argumentenzahl als argc abgekürzt, und die Argument -Werte werden als Argv abgekürzt. Dies sind die Variablen, die an die Hauptfunktion übergeben werden, wenn sie zu laufen beginnt. Zur Laufzeit ruft die Sysconf -Funktion Konfigurationsinformationen ab. sysconf mit dem argument _sc pageSize ist die richtige Schnittstelle, die Sie nach der Seitengröße erkundigen können. SBRK () erhöht den Speicherplatz des Programms durch Erhöhen von Bytes. Der gegenwärtige Ort der Programmpause finden Sie unter Aufrufen von SBRK () mit einer Inkrementellen von 0. Der BRK () -Systemaufruf bewirkt, dass das Programm in der Position des Enddatensegments durchbricht. Das Enddatensegment ist bis zur nächsten Seitengrenze abgerundet, da der virtuelle Speicher in Seiteneinheiten zugewiesen ist.
Die Ausgabe des Codes kann angezeigt werden.04 Linux -Betriebssystemanschluss.
$ GCC BRK1.CFalls GCC nicht in Ihrem Ubuntu 20 installiert ist.04 Betriebssystem, installieren Sie es, indem Sie den angehängten Befehl unten in der Shell ausführen:
$ sudo APT Installieren Sie GCCDie Ausgabe wird in dem oben genannten Screenshot-Präsentationsseitengröße, der Programmverlustadresse, der Größe des Zeichens usw. angezeigt.
Abschluss
In diesem Artikel ging es um BRK () -Systemanruf in C -Programmiersprache C. Wir haben unser Bestes versucht, das Konzept des BRK () -Systemaufrufs in C -Programmiersprache und seiner Verwendung zu erklären. Eines der Beispiele wurde ausführlich für Ihr Verständnis erläutert. Durch die Implementierung dieses Beispiels mit den erforderlichen Änderungen werden Ihnen die Verwendung von BRK () Systemanrufe in der C -Programmiersprache beigebracht.