Multifile Projects

Kategori: C , 26 Haziran 2019 , JanFranco


Büyük bir proje yapıyorsak, tüm kodları tek bir dosyada toplamaktan ziyade anlamlı dosyalara bölmemiz çok daha sağlıklı olur. Basit çok dosyalı bir proje yapalım: mathfuncs.c file:

int plushone(int a){
    return a+1;
}

int minusone(int a){
    return a-1;
}
mathfuncs.c adında bir dosya açtık ve içine iki basit fonksiyon yazdık. Şimdi bir header dosyası tanımlayalım: mathfuncs.h file:
#ifndef _MATHFUNCS_H_INCLUDED
#define _MATHFUNCS_H_INCLUDED

int plusone(int a);
int minusone(int a);

#endif
Burada header dosyasının ismi ile projemize ekleyeceğimiz dosyanın ismi aynı olmalıdır. İlk iki satırdaki preprocess kodlarında şu işlem yapılıyor, eğer mathfuncs dahil edilmediyse alt satıra geç, mathfuncs'ı dahil et. Bu işlem sayesinde mathfuncs projeye dahil edildiyse, tekrar dahil edilmesini engelliyoruz. Daha sonra kullanacağımız fonksiyonların prototiplerini yazıyoruz. Son olarak da ifndef bloğunu kapatmak için endif kullanıyoruz. Şimdi bu fonksiyonları main fonksiyonun bulunduğu dosyada kullanalım: main.c file:
#include "mathfuncs.h"

int main(){

    int a = 10, b;

    b = plusone(a);

    return 0;

}
Burada header dosyasımızı dahil ederek içindeki fonksiyonları kullandık. Bu şekilde fonksiyonları ayrı dosyalarda tanımlayıp çağırabiliriz. Kullandığımız ide'ye göre dosya oluşturma, projeye dahil etme işlemleri farklılık gösterebilir. Ayrıca burada kullanılan define, ifndef gibi preprocess komutları başka bir dökümantasyonda daha detaylı anlatılacaktır. Son olarak eğer bir ide kullanmadan programı compile ediyorsak, aşağıdaki komutu kullanabiliriz:
gcc -o main main.c mathfuncs.c


Sonraki Yazı: Preprocessors, #include, #define, #if, #ifdef
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın