Çözüldü Linux Mint g++ iOStream kütüphanesini bulamıyor

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

nolonger

Hectopat
Katılım
27 Şubat 2021
Mesajlar
153
Merhabalar yazdığım C++ kodunda iOStream kütüphanesini dahil ediyorum fakat dosyası bulamıyor daha önce compiler ile uğraşmıştım bozmuştum ama sonra bir şekil tekrar düzeltmiştim.compileri silip tekrar yükle yaptım fakat bir şey değişmedi. Şimdiden yardımlarınız için teşekkürler.

[CODE lang="cpp" title="Shell"]g++ -m32 -fno-use-cxa-atexit -nostdlib -fno-builtin -fno-rtti -fno-exceptions -fno-leading-underscore -o kernel.o -c kernel.cpp
kernel.cpp:5:10: fatal error: iostream: No such file or directory
#include <iostream>
^~~~~~~~~~
compilation terminated[/CODE]
 
Çözüm
Bu işe girdiysen kütüphane diye bir şeyin varlığını unutacaksın. Kütüphane diye bir şey yok. Sadece örnek olarak onu oraya koydum. Pseudocode diye belirtmiştim.

Şu işletim sistemine bakabilirsin, klavye sürücüsünü düzeltmiştim ve çalışır hale getirmiştim: GitHub - TerabyteForever/JupiteerOS-Reupload: Experimental Operating System (by @furkanonder)

Bu işletim sisteminde de bu iş inb ve outb Assembly komutlarıyla yapılıyor. Hani x86 port-mapped I/O ya...

E sen de C++ kullandığını belirtmişsin ve kafamdan öyle bir pseudocode yazayım dedim. Temelinde interrupt dinlemekte olay.
Bu header'ların ve fonksiyonların kernel'de varolduğunu sanmıyorum. Ayrıca free() kullanılmamış heap işlemi yapılmasına rağmen, bu da memory leak'lere yol açar. Kernel seviyesinde memory leak'ler çok büyük güvenlik açıklarıdır.

Arkadaşlar, bu işe bir şeyi tamamen bilmeden girişmeyin. Ben hala daha kendi kernel'imi yazacak kadar olgunlaştığımı zannetmiyorum eğer beni rol model olarak alıyorsanız.
IRQ1 den gelen veri hangi porttan gelmiş oluyor?
Interrupt hattı 1'den kesinti bilgisi geliyor. Klavyenin durum bilgisi 0x60 portu üzerinden, keycode bilgisi de 0x64 portu üzerinden geliyor.
 
bu kodu kendin mi yazdın yoksa bir yerden mi aldın?
 
@TerabyteForever jupiterOS kullanarak geliştirmeye devam ediyorum fakat takıldım bir yerde. Komut sistemi biraz zorluk çıkardı nasıl yapacağımı bilmiyorum elinde kaynak varsa önerir misin? Yada açıklayıcı bir şekilde anlatabilir misin?
 
-nostdlib parametresiyle standant kütüphanelere bakmasını engellemişsin, bu yüzden bu hatayı veriyor olabilir.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…