C Standardbibliothekswrapper Überprüfen Sie den Rückgabewert von Bibliotheksanrufen für Fehler für Fehler

C Standardbibliothekswrapper Überprüfen Sie den Rückgabewert von Bibliotheksanrufen für Fehler für Fehler

AUTOR: Tobin Harding

Produktions -C -Code sollte immer den Rückgabewert der Bibliothek überprüfen
Forderungen nach Fehlern. Diese Überprüfungen erfordern jedoch häufig das gleiche Schreiben
wiederholt Code. Es gibt eine Reihe von Lösungen für dieses Problem von, von
was das nur einer ist.

Zum Beispiel

int foo (char *s) char *buf; if ((buf = malloc (strlen (s) + 1)) == null) / * fehler * /… 

Oft würden Sie diese Fehlerbedingungen lieber nur ignorieren, aber das ist
Produktionscode richtig! Durch Deklarieren einer Wrapper -Funktion
void *malloc (size_t size); und es definieren

void *malloc (size_t size) void *ptr; if ((ptr = malloc (Größe)) == null) fprintf (stderr, "malloc error"); exit (exit_failure);  return (ptr);  

Wir können diese Funktion dann in unserem Code verwenden. Der Code -Snippet oben kann
jetzt geschrieben werden als

int foo (char *s) char *buf; buf = malloc (strlen (s) + 1);… 

Und wir können weiterhin glücklich sein, dass wir den Fehler überprüft haben
Zustand. Wenn die Anforderungen ändern, ist es einfach eine Frage von
Aktualisieren Sie die Wrapper -Funktion, um das Verhalten im gesamten Verhalten zu ändern
Projekt.

Viel Glück.

Zuschreibung:
Ich wurde mit den Ideen vorgestellt, die hier vom Text vorgestellt wurden
UNIX -Netzwerkprogrammierung - Stevens, Fenner und Rudoff

Verwandte Linux -Tutorials:

  • GDB -Debugging -Tutorial für Anfänger
  • So erstellen Sie eine Tkinter -Anwendung mithilfe eines objektorientierten…
  • Python reguläre Ausdrücke mit Beispielen
  • Wie man Verwaltungsoperationen mit Ansible durchführt…
  • Advanced Bash Regex mit Beispielen
  • Wie man Git -Repositories mit Python verwaltet
  • Schleifen mit Beispielen verprügeln
  • Wie man mit der Woocommerce -REST -API mit Python arbeitet
  • Installieren Sie Arch Linux in VMware Workstation
  • Mit Python können Sie eine Verbindung zu einem FTP -Server herstellen