C ile işletim sistemi yapmak için gerekli startup ".obj" dosyası

AHT

Picopat
Katılım
17 Temmuz 2021
Mesajlar
70
Çözümler
1
Böyle bir şey lazım çünkü işletim sistemi yapmak için kullanacağım. Derleyici DOS fonksiyonları kullanıyor ancak işletim sistemi olmayan bir ortamda DOS fonksiyonları kullanılmaz. Bu yüzden işletim sistemi fonksiyonlarını kullanmayan bir startup ".obj" dosyası lazım. Bunun başka bir şekilde yapmanın yolu var mıdır?
 
Son düzenleyen: Moderatör:
UNIX ortamına geçip cross-compiler inşa edeceksin. Veya WSL'de ve Cygwin'de de inşa ediliyor diye biliyorum. OSDev'de ilgili bir makale bulunuyor. "Building a cross-compiler" isminde.
 
Direkt DOS ile de yazılmaz mı?
Assembly ile cevabım kesin evet, bare metal'de çalışmaya uygun kod yazıyorsan DOS altında yapabilirsin. Ama C altında işler biraz değişiyor. İşletim sistemlerindeki derleyicilerle çoğu zaman kendi kernel'imizi derleyemeyiz çünkü içerisine sistem çağrıları karışıyor vs.

DOS altında bir fikrim yok fakat UNIX sistemlerde GCC'nin hedef mimari için olan kodunu GNU sitesinden indirip derleyince cross-compiler olarak derleniyor (host sisteme ayarlamadığın sürece) ve bununla kernel derlemesi yapılabiliyor. Açık kaynak sistemler zaten sürekli bu metodu kullanıyor.

Ayrıca ben bashrc dosyam ile PATH ortam değişkenine derlenmiş cross-compiler'ın olduğu klasörü ekledim ve makefile aracıyla OS derlerken çok daha rahat oluyor, tavsiyemdir.
 

Geri
Yukarı