Cara Menggunakan Panggilan Sistem Tulis Di C

How Use Write System Call C



Panggilan sistem berfungsi sebagai gerbang utama di antara program dan kernel sistem operasi Linux. Meskipun Anda hampir pasti perlu memiliki panggilan sistem sepanjang karir pemrograman C Anda, apakah Anda bertujuan untuk produktivitas yang luar biasa atau gaya fitur tertentu, repositori Glibc atau pustaka standar lainnya yang ditemukan di distro Linux populer akan cukup untuk sebagian besar dari Anda. persyaratan. Dalam panduan ini, kami akan membuat konsep tentang panggilan Sistem Tulis dalam bahasa C.

Sintaksis:

#termasuk

ukuran_tmenulis(int fd, const void*buf, size_t count);

Dalam sintaks di atas, baris pertama menunjukkan perpustakaan untuk panggilan sistem. Pada baris kedua, fd adalah singkatan dari deskriptor file yang memang merupakan angka yang menentukan file terbuka suatu proses. Kata kunci *buf adalah singkatan dari buffer. Ini berisi data apa pun di dalamnya. Berikutnya adalah menghitung. Ini adalah jumlah byte yang akan ditulis ke deskriptor file dari buffer.







Instal Prasyarat:

Untuk menjalankan kode bahasa C, Anda harus terlebih dahulu menginstal beberapa paket di distribusi Linux. Jika Anda ingin melihat informasi lebih lanjut mengenai panggilan sistem tulis, Anda harus menginstal paket manpages-dev untuk melakukannya. Untuk membuka terminal menggunakan tombol pintas Ctrl+Alt+T. Setelah membukanya, tulis perintah apt install di bawah ini diikuti dengan kata kunci manpages-dev untuk menginstal manpages.



$sudotepatInstallhalaman manual-dev



Ini akan memakan waktu untuk menginstal halaman manual. Tunggu sampai selesai.





Setelah instalasi, Anda dapat melihat informasi tambahan tentang panggilan sistem tulis melalui perintah man di bawah ini di shell.



$pria 2 menulis

Halaman manual keluaran untuk perintah tulis diberikan di bawah ini. Anda dapat membaca informasi tentangnya. Tekan q untuk keluar dari manual.

Sekarang saatnya menginstal paket Gcc di sistem Linux Anda untuk bekerja dalam bahasa C. Untuk itu, buka shell dan tulis perintah apt install di bawah ini diikuti dengan kata kunci gcc.

$sudotepatInstall gcc

Sementara itu, selama penginstalan, Anda mungkin diminta untuk mengonfirmasi tindakan penginstalan ini dengan menekan y untuk melanjutkan dan n untuk menghentikannya. Jadi, ketuk tombol y dan tekan tombol Enter.

Ini akan diinstal di sistem Anda dalam beberapa menit, dan baris output terakhir akan seperti yang ditunjukkan pada snapshot di bawah ini.

Contoh:

Mari kita lihat beberapa contoh panggilan sistem tulis di distribusi Linux kita. Oleh karena itu, buka shell baris perintah dan buat file C baru di dalamnya dengan ekstensi dot c. Anda harus menggunakan perintah nano di bawah ini untuk membuat dan membukanya dengan cepat. Kami telah memberinya nama sebagai new.c.

$nanobaru.c

Jendela di bawah ini akan terbuka. Sekarang Anda harus menulis kode yang ditempelkan di file ini. Dalam kode ini, kami telah menyertakan perpustakaan unistd.h terlebih dahulu. Kemudian kami telah membuat fungsi utama, dan di dalam fungsi ini, kami telah membuat panggilan sistem tulis. Dalam panggilan sistem ini, parameter pertama adalah deskriptor file. Dalam hal ini, bilangan bulat 1 mewakili layar perangkat keluaran, dan itu diperbaiki. Jadi output kami akan ditampilkan di layar. Parameter kedua menunjukkan data buffer. Anda dapat menambahkan apa pun ke dalamnya. Dan parameter terakhir menunjukkan jumlah hitungan untuk data yang diberikan dalam parameter buffer. Seperti yang telah kami sebutkan 5 sebagai jumlah hitungan, itu hanya akan menampilkan 5 byte pertama dari data buffer dan mengabaikan byte yang tersisa. Simpan kode ini menggunakan tombol pintas Ctrl+S dan keluar dari file ini menggunakan perintah Ctrl+X.

#termasuk

Int utama()

{Menulis(1Aqsa Yasin5);}

Sekarang di terminal, coba perintah gcc di bawah ini untuk mengkompilasi kode yang baru dibuat ini dengan nama file.

$gccbaru.c

Mari kita periksa kode ini dengan menggunakan file a.out default yang dibuat saat run time. Jadi, coba perintah a.out di bawah ini untuk memeriksa output dari panggilan sistem tulis. Kita harus menggunakannya dengan ./ untuk memilih file dari direktori saat ini.

$./a.keluar

Output yang Anda lihat hanya menampilkan kata Aqsa karena hitungan nomor 5.

Mari kita ubah sedikit kode kita. Kami telah mengubah jumlah hitungan menjadi 11 karena kami memiliki total 11 byte dalam data buffer kami Aqsa Yasin. Jadi kali ini, output akan menampilkan seluruh byte data string Aqsa Yasin. Simpan file ini menggunakan Ctrl+S dan keluar menggunakan tombol pintas Ctrl+X.

Mari kompilasi kode yang diperbarui menggunakan kompiler gcc yang baru diinstal untuk distribusi Linux. Coba perintah gcc yang sama dengan nama file sebagai new.c.

$gccbaru.c

Sekarang tampilkan output dari kode yang sama menggunakan perintah a.out sebelumnya seperti di bawah ini. Output menunjukkan string penuh Aqsa Yasin dari buffer.

$./a.keluar

Mari kita lihat bagaimana kode bekerja ketika kita mengambil jumlah hitungan lebih besar dari jumlah total byte yang berisi data buffer. Jadi, kami telah menggunakan hitungan sebagai 30. Simpan dan tutup file.

Kompilasi file yang diperbarui yang sama menggunakan perintah gcc seperti di bawah ini.

$gccbaru.c

Sekarang jalankan file menggunakan perintah a.out, dan output akan menampilkan data buffer serta beberapa nilai sampah dengannya seperti yang ditampilkan pada output snapshot di bawah ini.$ ./a.out

Anda juga dapat memeriksa jumlah total byte yang ditulis ke dalam file dengan menggunakan kode di bawah ini dalam file yang sama.

Kompilasi kode dengan instruksi gcc.

$gccbaru.c

Output menunjukkan jumlah total byte, termasuk data buffer dan jeda baris, menggunakan perintah a.out.

$./a.keluar

Kesimpulan:

Dalam tutorial ini, kami telah menguraikan konsep untuk menggunakan panggilan sistem Tulis di C. Coba semua contoh untuk memahami ide panggilan sistem tulis menggunakan artikel ini.