Pemrograman C

Cara Menggunakan Panggilan Sistem Tulis Di C

Cara Menggunakan Panggilan Sistem Tulis Di 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 lain 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
ssize_t write(int fd, const void *buf, size_t count);

Dalam sintaks di atas ini, 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. Selanjutnya adalah menghitung. Ini adalah jumlah byte yang akan ditulis ke deskriptor file dari buffer.

Instal Prasyarat:

Untuk menjalankan kode bahasa C apa pun, 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.

$ sudo apt install manpages-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 tentang itu. Tekan q untuk keluar dari manual.

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

$ sudo apt install 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 kami. Oleh karena itu, buka shell baris perintah dan buat file C baru di dalamnya dengan ekstensi titik "c". Anda harus menggunakan perintah nano di bawah ini untuk membuat dan membukanya dengan cepat. Kami telah memberinya nama sebagai "baru".c”.

$nano baru.c

Jendela di bawah ini akan terbuka. Sekarang Anda harus menulis kode yang ditempelkan di file ini. Dalam kode ini, kami telah menyertakan unistd.h perpustakaan dulu. 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 saja 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()
Tulis(1, “Aqsha Yasin”, 5);

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

$gcc baru.c

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

$ ./Sebuah.di luar

Output yang Anda lihat hanya menampilkan kata "Aqsha" 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 "Aqsha Yasin". Jadi kali ini, output akan menampilkan seluruh byte data string "Aqsha 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 "baru".c”.

$gcc baru.c

Sekarang tampilkan output dari kode yang sama menggunakan "a" sebelumnya.keluar” perintah seperti di bawah ini. Output menunjukkan string lengkap "Aqsha Yasin" dari buffer.

$ ./Sebuah.di luar

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.

$gcc baru.c

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

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.

$gcc baru.c

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

$ ./Sebuah.di luar

Kesimpulan:

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

Game Baris Perintah Terbaik untuk Linux
Baris perintah bukan hanya sekutu terbesar Anda saat menggunakan Linux-ini juga dapat menjadi sumber hiburan karena Anda dapat menggunakannya untuk me...
Aplikasi Pemetaan Gamepad Terbaik untuk Linux
Jika Anda suka bermain game di Linux dengan gamepad alih-alih sistem input keyboard dan mouse biasa, ada beberapa aplikasi yang berguna untuk Anda. Ba...
Alat Berguna untuk Gamer Linux
Jika Anda suka bermain game di Linux, kemungkinan besar Anda telah menggunakan aplikasi dan utilitas seperti Wine, Lutris, dan OBS Studio untuk mening...