C Standard Library Wrapper Zkontrolujte chyby návratové hodnoty volání knihovny

  • Vovich Masterovich
  • 0
  • 4560
  • 560
> AUTOR: Tobin Harding
Produkční kód C by měl vždy zkontrolovat chyby návratové hodnoty volání knihovny. Tyto kontroly však často vyžadují opakované psaní stejného kódu. Existuje řada řešení tohoto problému, z nichž toto je jen jedno. Například
 int foo (char * s) char * buf; if ((buf = malloc (strlen (s) + 1)) == NULL) / * error * /… 
Tyto chybové podmínky byste často raději ignorovali, ale toto je správný výrobní kód! Deklarováním souhrnné funkce void * Malloc (velikost_t velikost); a definovat to
 void * Malloc (size_t size) void * ptr; if ((ptr = malloc (size)) == NULL) fprintf (stderr, "malloc error"); exit (EXIT_FAILURE);  návrat (ptr);  
pak můžeme použít tuto funkci v našem kódu. Fragment kódu výše lze nyní zapsat jako
 int foo (char * s) char * buf; buf = Malloc (strlen + 1);… 
A můžeme pokračovat šťastní, že jsme zkontrolovali chybový stav. Pokud se požadavky změní, je to prostě otázka aktualizace funkce wrapper, aby se změnilo chování v celém projektu.
Hodně štěstí.
Uvedení zdroje:
Byl jsem seznámen s myšlenkami, které zde předkládá text Programování v síti UNIX - Stevens, Fenner a Rudoff



Zatím žádné komentáře

Sbírka užitečných informací o operačním systému Linux a nových technologiích
Nejnovější články, praktické tipy, podrobné recenze a průvodci. Ve světě operačního systému Linux se budete cítit jako doma