Rumah > pembangunan bahagian belakang > C++ > Selami Pengaturcaraan Sistem: Panduan Pemula untuk C

Selami Pengaturcaraan Sistem: Panduan Pemula untuk C

WBOY
Lepaskan: 2024-10-09 19:33:21
asal
860 orang telah melayarinya

Dive into Systems Programming: A Beginner's Guide to C

Meneroka Pengaturcaraan Sistem: Panduan Pemula untuk C

Pengaturcaraan sistem melibatkan interaksi dengan perkakasan dan perisian asas komputer. C adalah salah satu bahasa pilihan untuk pengaturcaraan sistem kerana keupayaannya untuk mengakses sumber perkakasan secara langsung. Panduan ini akan membawa anda ke perjalanan pengaturcaraan sistem, daripada asas bahasa C hingga kes aplikasi praktikal.

Asas bahasa C

Pembolehubah dan jenis data:
Pembolehubah digunakan untuk menyimpan data. Dalam C, pembolehubah mesti mengisytiharkan jenis datanya, contohnya:

int age; // 声明一个整型变量 "age"
Salin selepas log masuk

Fungsi:
Fungsi ialah blok kod boleh guna semula yang melaksanakan tugas tertentu. Sintaks fungsi C adalah seperti berikut:

int add(int x, int y) {
  return x + y;
}
Salin selepas log masuk

Penunjuk:
Pembolehubah penunjuk menunjuk ke alamat memori pembolehubah lain. Ia digunakan untuk menguruskan memori secara dinamik.

int num = 3;
int *ptr = # // ptr 指向变量 num 的地址
Salin selepas log masuk

Konsep Pengaturcaraan Sistem

Pengurusan Memori:
Pengaturcaraan sistem melibatkan pengurusan ingatan secara langsung. Anda perlu tahu cara memperuntukkan dan mengosongkan ruang memori.

// 分配 sizeof(int) 字节的内存
int *p = malloc(sizeof(int));

// 释放内存
free(p);
Salin selepas log masuk

I/O Fail:
Operasi I/O Fail adalah penting untuk pengaturcaraan sistem. Fail boleh dimanipulasi menggunakan fungsi fopen(), fread() dan fwrite().

// 打开 "test.txt" 文件
FILE *file = fopen("test.txt", "r");

// 读取文件内容
char buffer[1024];
fread(buffer, 1, 1024, file);

// 关闭文件
fclose(file);
Salin selepas log masuk

Interaksi sistem pengendalian:
Bahasa C menyediakan panggilan sistem untuk berinteraksi dengan sistem pengendalian. Panggilan ini membenarkan program untuk melaksanakan tugas tertentu, seperti mencipta atau menamatkan proses.

// 创建一个子进程
pid_t pid = fork();
Salin selepas log masuk

Contoh Praktikal: Mencipta Cangkang Mudah

Mencipta cangkerang mudah ialah contoh terbaik pengaturcaraan sistem dalam tindakan. Berikut ialah langkah-langkahnya:

  1. Memulakan pembolehubah: Termasuk aliran input, output dan ralat standard.
  2. Baca input pengguna: Gunakan fungsi fgets().
  3. Menghuraikan arahan: Pisah rentetan arahan kepada perkataan dan parameter.
  4. Laksanakan arahan: Gunakan fungsi execv().
  5. Ralat pengendalian: Kendalikan ralat pelaksanaan arahan.

Kod lengkap adalah seperti berikut:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>

int main() {
  char input[1024]; // 存储用户输入
  char *words[512]; // 存储命令和参数
  pid_t pid; // 子进程 ID

  while (1) {
    // 读取用户输入
    printf("> ");
    fgets(input, 1024, stdin);

    // 解析命令
    int num_words = tokenize(input, words);

    // 执行命令
    pid = fork();
    if (pid == 0) {
      // 子进程
      execv(words[0], words);
      perror("execv failed");
      exit(1);
    } else if (pid > 0) {
      // 父进程
      waitpid(pid, NULL, WUNTRACED);
    } else {
      // fork 失败
      perror("fork failed");
    }
  }

  return 0;
}
Salin selepas log masuk

Atas ialah kandungan terperinci Selami Pengaturcaraan Sistem: Panduan Pemula untuk C. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan