C Pembungkus Perpustakaan Standard Periksa nilai pulangan perpustakaan untuk kesilapan

C Pembungkus Perpustakaan Standard Periksa nilai pulangan perpustakaan untuk kesilapan

Pengarang: Tobin Harding

Kod Pengeluaran C harus selalu memeriksa nilai pulangan perpustakaan
panggilan untuk kesilapan. Walau bagaimanapun, pemeriksaan ini sering memerlukan menulis yang sama
kod berulang kali. Terdapat beberapa penyelesaian untuk masalah ini
yang ini hanya satu.

Sebagai contoh

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

Selalunya anda lebih suka mengabaikan keadaan ralat ini tetapi ini
Kod pengeluaran betul! Dengan mengisytiharkan fungsi pembalut
void *malloc (size_t saiz); dan mendefinisikannya

void *malloc (size_t size) void *ptr; jika ((ptr = malloc (saiz)) == null) fprintf (stderr, "ralat malloc"); keluar (exit_failure);  kembali (PTR);  

Kami kemudian boleh menggunakan fungsi ini dalam kod kami. Coretan kod di atas boleh
kini ditulis sebagai

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

Dan kita dapat terus gembira kerana kita telah memeriksa ralat
keadaan. Sekiranya syarat -syarat kemudian berubah, ia hanyalah masalah
mengemas kini fungsi pembalut untuk mengubah tingkah laku secara keseluruhan
projek.

Semoga berjaya.

Atribusi:
Saya diperkenalkan kepada idea -idea yang dibentangkan di sini oleh teks
Pengaturcaraan Rangkaian Unix - Stevens, Fenner, dan Rudoff

Tutorial Linux Berkaitan:

  • Tutorial Debugging GDB untuk Pemula
  • Cara Membina Aplikasi TKInter Menggunakan Objek Berorientasikan ..
  • Ungkapan biasa python dengan contoh
  • Cara Melaksanakan Operasi Pentadbiran dengan Ansible ..
  • Advanced Bash Regex dengan contoh
  • Cara menguruskan repositori git dengan python
  • Gelung bash dengan contoh
  • Cara Bekerja Dengan API Rest WooCommerce dengan Python
  • Pasang Arch Linux di Workstation VMware
  • Cara menyambung ke pelayan FTP menggunakan python