wiki-framework-arsiv-olusturma-2

Arşiv Oluşturma

Konu başlıkları

 

Arşiv Nedir ?

İçerisinde '.o' uzantılı dosyalarımızı içeren '.a' uzantılı kütüphane dosyasıdır.

Arşiv Nasıl Oluşturulur ?

  • Konsoldan , ar cr [arşiv adı] şeklinde komut girerek oluşturulur.
ar cr libDENEME.a
  • Daha sonra bu arşive .o uzantılı dosyalarımızı ar q [ arşiv adı ][ *.o uzantılı dosya adı ] komutuyla ekleyebiliriz.
ar q libDENEME.a deneme.o
  • Arşivden *.o uzantılı dosyalarımızı ar d [ arşiv adı ][ *.o uzantılı dosya adı ] komutuyla silebiliriz.
ar d libDENEME.a deneme.o
  • ar komutunun daha detaylı kullanımı için man ar komutuyla kullanımına bakabilirsiniz.

Arşiv Nasıl Kullanılır ?

Oluşturduğumuzu arşiv dosyasını çalışacağımız projeye libarary olarak ekledikten sonra , arşivden kullanmak istediğimiz kütüphaneyi projemize include ederek kullanabiliriz.

  • Projelerimizin *.pro uzantılı dosyasını açıp LIBS += yazan kısma sonuna arşivimizi ekliyoruz.
LIBS+= ../$$OBJDIR/libE9.a /CEREN/CEREN.src/LIB/MDV64/libODS_IO.a /CEREN/CEREN.src/LIB/MDV64/libCEREN.a 

Görüldüğü üzre projemize libODS_IO.a ve libCEREN.a arşivlerini ekledik.

  • PRE_TARGETDEPS+= yazan kısım içinde aynı şeyleri yapıyoruz.
PRE_TARGETDEPS+= ../$$OBJDIR/libE9.a /CEREN/CEREN.src/LIB/MDV64/libODS_IO.a /CEREN/CEREN.src/LIB/MDV64/libCEREN.a

Arşiv Neden Kullanılır ?

Projelerimizin kaynak dosyalarını kullanıcıdan saklamak , büyük projelerde tüm dosyalar yerine sadece ilgili kısmı derleyip diğerlerini arşivleyip arşivden kullanarak zaman kazanmak , büyük projeleri küçük arşivlere bölerek sadece bir arşiv üzerinde çalışmak için kullanılır.

Mesela , libCEREN arşivinde şirket içerisinde oluşturulan tüm fonksiyon , sınıf , .. yapılardan oluşan kurallarımız var. libCEREN kullanarak projeler oluşturmak istediğimizde libCEREN içerisindeki yapılar tekrar tekrar derlenmez. Kullanacak kişi lib olarak arşivi projeye dahil ettikten sonra arşiv içerisindeki *.h uzantılı dosyaları include ederek , fonksiyonları , sınıfları , .. oluşturulmuş tüm yapı ve kuralları derlemeden kullanabilir.

Arşiv Örnek Kullanım

  • 1 ) Önce header ve source dosyalarımızı oluşturalım..
deneme.h
deneme.cpp
main.cpp
  • 2 ) Sonra programımızı derleyerek *.o uzantılı dosyalarımızı oluşturalım
Object_Dosyasi_Olusturma
  • 3 ) Şimdi libDeneme.a arşivimizi oluşturalım ve deneme.o dosyamızı arşivimize atalım.
Arsiv_Olusturma
Arsıve_Dosya_Ekleme
  • 4 ) Daha sonra dizinimizden *.o uzantılı dosyayı silelim.LIB olarak libDENEME.a yı Deneme.pro dosyamıza ekleyelim ve deneme.cpp'yi source dosyalarından çıkaralım.
Object_Dosyasi_Silindi
 
Arsiv_Path_Olarak_Eklendi
deneme.cpp_source_dosyalarindan_cikarildi
  • 5 ) Arşivimiz oluştu.Şimdi test edelim..
arsivi_calistirdik