Visual C++ kullanarak bir x86 makinesi için yerleşik bir çekirdek oluşturmak istiyorum. Derlemek için bazı C ve derleme kod dosyalarım var ve hepsini GRUB gibi bir Multiboot bootloader ile uyumlu bir şekilde birbirine bağlamak istiyorum.Visual Studio'yu kullanarak bir çekirdek resmi nasıl oluştururum?
cevap
OSDev özellikle Kaushik'in Srenevasan en blogentries (tırtıl gibi) çoklu önyükleme bazlı BootLoaders'in tarafından yüklenecek şekilde tasarlanmıştır PE çekirdeklerin konuda bağlantıları olan bazı bilgiler sağlayabilir bir wiki entry on Visual Studio sahiptir.
büyük, geniş vuruş Birkaç şey bilmen gereken: çoklu önyükleme başlığında
- , sen AOUT kludge kullanmak gerekir.
- Bağlayıcıya/BASE: 0x100000 değişkenini belirtmeniz gerekir, böylece son ikili kod, önyükleyicinin nereye yerleştirileceğini temel alır.
- Kernel'in giriş noktanız (genellikle '
kmain
' olarak adlandırılır) üzerinde__declspec(noreturn)
olmalıdır ve geri dönmek yerine__asm { hlt }
yapmanız gerekir.
Kopyala-yapıştır burada da çalışmıyor, ancak hatayı işaret ediyor: "... kernels kullanarak% 5F03.html" gibi görünüyor, ancak "... kernels using_03.html" olmalıdır. –
Nedenini bilmiyorum, ama kopyalayıp adres çubuğundan buraya yapıştırıyorum ve düzenlediğimde edebi bir '_' var - SO her ne sebeple olursa olsun onu değiştiriyor gibi görünüyor. –
Tamam, SO Ekibine bir e-posta gönderdim ve bir bağlantı oluşturmanın başka yolları olduğunu belirttiler, bu yüzden onu çalıştıran birine değiştirdim. –
- 1. Yedekleme IoT çekirdek resmi
- 2. Boto kullanan bir çalışan örneğinden nasıl EC2 resmi oluştururum?
- 3. TortoiseSVN kullanarak nasıl yeni bir şube oluştururum?
- 4. Nasıl ASP.NET Core Visual Studio kullanıyorum Visual Studio ASP.NET Çekirdek
- 5. Bir ConstraintViolationException nasıl oluştururum?
- 6. MongoDB Aggregation: $ project kullanarak bir tarihi nasıl yeniden oluştururum?
- 7. MongoDB Node.JS sürücüsünü kullanarak nasıl yeni bir veritabanı oluştururum?
- 8. elasticsearch-dsl-py? Yi kullanarak nasıl bir "OR" filtresi oluştururum?
- 9. Yay önyüklemeyi kullanarak bir 404 denetleyicisi nasıl oluştururum?
- 10. İşlevsel durumu kullanarak rasgele bir sayı nasıl oluştururum?
- 11. Bir 404 sayfasını nasıl oluştururum?
- 12. Bir String'den org.xml.sax.InputSource nasıl oluştururum?
- 13. Parkeden bir DataSet'i nasıl oluştururum?
- 14. Bir resmi nasıl döndürürüm?
- 15. Çekirdek Grafikler kullanarak bir pasta grafik oluşturma
- 16. Bir döndürücünün resmi nasıl değiştirilir
- 17. QOpenGLWidget'te üçgeni nasıl oluştururum?
- 18. Bir resmi reveal.js, javascript ve fragment sınıfını kullanarak nasıl taşınırsınız?
- 19. Resmi s3 kullanarak yükleyin boto
- 20. İşaretçi dizisini nasıl oluştururum?
- 21. Glfw3 projemi Linux'ta nasıl oluştururum?
- 22. Visual Studio - Sınıf kitaplığı hedefleme oluştur. Net Çekirdek
- 23. Basit bir joomla eklentisini nasıl oluştururum?
- 24. RSS beslemesi nasıl oluştururum?
- 25. iPhone'da rasgele sayıları nasıl oluştururum?
- 26. Çekirdek Grafikte bir RGBA görüntüsü nasıl oluşturulur?
- 27. Albacore'un msbuild görevini kullanarak bir .NET web uygulaması projesi nasıl oluştururum?
- 28. Qt'deki bir resmi nasıl kırpabilirim?
- 29. Terminalde bir resmi nasıl görüntüleyebilirim?
- 30. Bir resmi diğerine nasıl yerleştirebilirim?
MSVC yolunu aşmak istediğinizden gerçekten emin misiniz? Bu harika bir derleyici ama GCC/MingW –
ile GCC/MinGW'nin de PE yürütücüler üreteceğini düşünüyorum. Her iki ortamda da ELF için gerekli değişiklikleri yapmalıyım. VS kullanmak için böyle bir zevk, bence tercih ederim. –