CodeBlanks Logo Icon CodeBlanks

Proje tasarımı

  • C kursu
  • İleri seviye
  • Ders 79/83
  • 6 dk

İleri seviye finali mini uygulamasının iskeletini tasarlarsın.

Proje: Mini sunucu

Bu beş derslik projede bir mini sunucu yapacaksın. Her ders bir katman ekler; son derste fork/pthread, soket ve IPC'i birleştiren çalışan bir program elde edersin.

Önceki gruplardaki fork, pthread, soket ve pipe bilgisini kullanacaksın. Proje boyunca dört işlev tanımlayacaksın: worker_init, server_setup, ipc_setup ve server_run. Bu ilk derste modülün iskeletini kuracaksın: prototipler ve main.

Modül iskeleti

C'de büyük projeler prototiplerle başlar. int worker_init(void); bir bildirimdir; tanım başka dosyada ya da aşağıda olabilir. Derleyici, bildirim sayesinde işlevin varlığını bilir.

Bu projede dört prototip tanımlayacaksın: worker_init (süreç/thread katmanı), server_setup (soket katmanı), ipc_setup (IPC katmanı) ve son derste server_run (birleştirme). İlk ders yalnızca ilk üç prototip ve main'le başlar; main printf("Proje hazır\n"); yazdırır.

Uygulama İskeleti yaz

Üç prototip ekle: int worker_init(void);, int server_setup(void);, int ipc_setup(void);. int main(void) yaz; içinde printf("Proje hazır\n"); yazdır.

Başlangıç kodu

main.c
#include <stdio.h>

// Proje: mini sunucu (fork/pthread + soket + IPC)
// worker_init, server_setup, ipc_setup prototiplerini ekle
// main: "Proje hazır" yazdır

Örnek çözüm

main.c
#include <stdio.h>

int worker_init(void);
int server_setup(void);
int ipc_setup(void);

int main(void) {
    printf("Proje hazır\n");
    return 0;
}

Beklenen çıktı

Proje hazır

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Proje hangi katmanları içerir?

  • Yalnızca printf
  • Yalnızca dosya I/O
  • Süreç + soket + IPC Doğru cevap
  • Yalnızca döngü

Açıklama: Proje fork/pthread, soket ve IPC katmanlarını birleştirir.

2 worker_init prototipi

Soru
int worker_init(____);
Cevap
int worker_init(void);

Açıklama: worker_init(void) parametresiz bir işlevdir.

3 Katmanları eşle

Kavram Anlamı
worker_init Süreç/thread
server_setup Soket
ipc_setup Pipe IPC
server_run Birleştirme

İleri seviye bölümündeki tüm dersler