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.
Pembolehubah dan jenis data:
Pembolehubah digunakan untuk menyimpan data. Dalam C, pembolehubah mesti mengisytiharkan jenis datanya, contohnya:
int age; // 声明一个整型变量 "age"
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; }
Penunjuk:
Pembolehubah penunjuk menunjuk ke alamat memori pembolehubah lain. Ia digunakan untuk menguruskan memori secara dinamik.
int num = 3; int *ptr = # // ptr 指向变量 num 的地址
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);
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);
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();
Mencipta cangkerang mudah ialah contoh terbaik pengaturcaraan sistem dalam tindakan. Berikut ialah langkah-langkahnya:
fgets()
. execv()
. 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; }
Atas ialah kandungan terperinci Selami Pengaturcaraan Sistem: Panduan Pemula untuk C. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!