C Wrapper de bibliothèque standard Vérifiez la valeur de retour des appels de bibliothèque pour les erreurs

C Wrapper de bibliothèque standard Vérifiez la valeur de retour des appels de bibliothèque pour les erreurs

AUTEUR: Tobin Harding

Le code C de production doit toujours vérifier la valeur de retour de la bibliothèque
appelle à des erreurs. Cependant, ces chèques nécessitent souvent de l'écriture
code à plusieurs reprises. Il existe un certain nombre de solutions à ce problème, de
ce que ce n'est qu'un.

Par exemple

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

Souvent, vous préférez simplement ignorer ces conditions d'erreur, mais c'est
Code de production à droite! En déclarant une fonction wrapper
void * malloc (size_t size); et le définir

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

Nous pouvons ensuite utiliser cette fonction dans notre code. L'extrait de code ci-dessus peut
maintenant être écrit comme

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

Et nous pouvons continuer heureux que nous ayons vérifié l'erreur
condition. Si les exigences changent, c'est simplement une question de
Mise à jour de la fonction de wrapper pour modifier le comportement dans l'ensemble
projet.

Bonne chance.

Attribution:
J'ai été présenté aux idées présentées ici par le texte
Programmation réseau Unix - Stevens, Fenner et Rudoff

Tutoriels Linux connexes:

  • Tutoriel de débogage GDB pour les débutants
  • Comment créer une application Tkinter à l'aide d'un objet orienté…
  • Python Expressions régulières avec des exemples
  • Comment effectuer des opérations d'administration avec Ansible…
  • Advanced Bash Regex avec des exemples
  • Comment gérer les référentiels Git avec Python
  • Boucles de bash avec des exemples
  • Comment travailler avec l'API WooCommerce REST avec Python
  • Installez Arch Linux dans VMware Workstation
  • Comment se connecter à un serveur FTP à l'aide de Python