C envoltura de biblioteca estándar Verifique el valor de retorno de las llamadas de la biblioteca para errores

C envoltura de biblioteca estándar Verifique el valor de retorno de las llamadas de la biblioteca para errores

AUTOR: Tobin Harding

El código C de producción C siempre debe verificar el valor de retorno de la biblioteca
Llama a los errores. Sin embargo, estos cheques a menudo requieren escribir lo mismo
código repetidamente. Hay una serie de soluciones a este problema, de
Que este es solo uno.

Por ejemplo

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

A menudo preferiría ignorar estas condiciones de error, pero esto es
Código de producción correcto! Declarando una función de envoltorio
void *malloc (size_t size); y definiéndolo

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

Entonces podemos usar esta función en nuestro código. El fragmento de código anterior puede
ahora se escrito como

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

Y podemos continuar felices de haber verificado el error
condición. Si los requisitos cambian, es simplemente una cuestión de
Actualización de la función de envoltura para cambiar el comportamiento en todo
proyecto.

Buena suerte.

Atribución:
Me presentaron las ideas presentadas aquí por el texto
Programación de red de Unix - Stevens, Fenner y Rudoff

Tutoriales de Linux relacionados:

  • Tutorial de depuración de GDB para principiantes
  • Cómo construir una aplicación Tkinter utilizando un objeto orientado ..
  • Expresiones regulares de Python con ejemplos
  • Cómo realizar operaciones de administración con Ansible ..
  • Bash Regex avanzado con ejemplos
  • Cómo gestionar los repositorios de GIT con Python
  • Bash Loops con ejemplos
  • Cómo trabajar con la API REST de WooCommerce con Python
  • Instale Arch Linux en VMware Workstation
  • Cómo conectarse a un servidor FTP usando Python