Strona 1 z 1
Kompilacja pliku *.cpp do *.bin
: 06 sie 2011, 21:33
autor: norbus2000a
Jak skompilować plik *.cpp do *.bin?
Szukałem w Google i nic
Proszę, pomóżcie!!
Re: Kompilacja pliku *.cpp do *.bin
: 07 sie 2011, 00:00
autor: mario_7
Co masz na myśli pisząc o pliku .bin?
Re: Kompilacja pliku *.cpp do *.bin
: 07 sie 2011, 10:08
autor: norbus2000a
Plik binarny.
Re: Kompilacja pliku *.cpp do *.bin
: 07 sie 2011, 10:14
autor: kabanek
no to nic prostszego

wystarczy kompilować program i zmienić nazwę dodając na końcu .bin
Re: Kompilacja pliku *.cpp do *.bin
: 07 sie 2011, 10:26
autor: norbus2000a
Tak. Ale potem jak dodaję plik do obrazu dyskietki z bootloaderem i emuluje
to mi wywala
a jak dodam zamist tego plik *.bin kompilowany nasm'em
Kod: Zaznacz cały
nasm -f bin -o bin/kernel.bin source/kernel.asm
to jest OK.

Re: Kompilacja pliku *.cpp do *.bin
: 07 sie 2011, 11:22
autor: mario_7
Plik binarny to każdy plik "nietekstowy", więc to bardzo szerokie pojęcie. Rozszerzenie .bin nie jest charakterystyczne dla żadnego rodzaju plików - to tylko umowne 3 litery oznaczające w danym przypadku dany rodzaj pliku. Zatem pisząc "plik binarny" musisz podać kontekst, bo inaczej nic to nie oznacza.
To z czym masz problem, to fakt, że gcc w procesie kompilacji tworzy linuksowy plik wykonywalny (ELF), a nie "czysty" kod maszynowy.
Pewnie wystarczy, gdy skorzystasz z narzędzia objcopy, np:
Kod: Zaznacz cały
gcc -o test test.c
objcopy -O binary test test.bin
Tutaj kilka słów na ten temat:
http://stackoverflow.com/questions/3615 ... chine-code
Re: Kompilacja pliku *.cpp do *.bin
: 07 sie 2011, 12:03
autor: norbus2000a
Dzięki! Ale Chciałbym jeszcze żebyście mi pomogli utworzyć obraz dyskietki z test.bin i bootload.bin
(ze strony
http://mikeos.berlios.de)
Chciałbym żeby zawartość pliku test.c była następująca
I jak dołączam pliki i emuluje QEMU to znów wywala, że nie ma bootdisk'u
Kod: Zaznacz cały
dd status=noxfer conv=notrunc if=bin/bootloader.bin of=myfirst.flp
dd status=noxfer conv=notrunc if=bin/kernel.bin of=myfirst.flp
-- 8 sie 2011, o 19:12 --
ODPISZCIE!!!