Forum huvudsida -> Programmering -> Kompilering
Sidor: 1
jockepockee | 21:45 - 24:e Mars 2007 | Post #1 | |
Medlem Inlägg: 192 Skicka PM |
HUr Komplerar man till formatet .bin i Dev-C++? de ska inte vara Win32 Console eller liknande. bara en helt ren binär fil -------------------------
|
Independence | 22:41 - 24:e Mars 2007 | Post #2 | |
Administratör Inlägg: 1800 Skicka PM |
Win32 console är ren binär. Vad är det du vill uppnå? Filändelser så som .bin säger inget om datan i filen, det är bara en hjälp för windowsprogram som inte förstår bättre att gissa vad det är för filtyp. ------------------------- Vi är riddarna som säger fiskbulle! |
main | 00:46 - 25:e Mars 2007 | Post #3 | |
Medlem Inlägg: 40 Skicka PM |
Du menar nog en .COM-fil. Jag tror inte det går i Dev-Cpp. Du får använda EXE2BIN verktyget, skriva i assembler, eller utforska inställningarna hos Dev-Cpp. ------------------------- - Real programmers code in binary |
ozamosi | 00:53 - 25:e Mars 2007 | Post #4 | |
Administratör Inlägg: 1129 Skicka PM |
com-fil? ...varför? I de får det ju typ plats ett hello world innan de blir för stora... ------------------------- Ljusblå |
Slash | 01:21 - 25:e Mars 2007 | Post #5 | |
Medlem Inlägg: 141 Skicka PM |
Ja det finns ju föga anledning att använda .com-filer nu för tiden. com-filer användes i MS-DOS för att göra små program som var snabba att starta. Ett .com-program måste, som ozamosi nämnde, rymmas på ett visst utrymme. Närmare bestämt 64kb, som var segmentstorleken i MS-DOS. De innehåller inte heller något filhuvud (.exe-filer i windows har ju PE-huvudet t.ex.) vilket gjorde programmen mindre och snabbare att starta under MS-DOS. ------------------------- Ingen sigantur! Senast redigerad 01:24 - 25:e Mars 2007 |
sdac | 22:59 - 25:e Mars 2007 | Post #6 | |
Medlem Inlägg: 235 Skicka PM |
Verkar inte som om trådskaparen pratar om com-filer, utan om att få ren kod utan segments och headers för exekverbara format. GCC, som används av Dev-cpp, kan outputa ren assembly, assemblerare kan konvertera vidare. RTFM? |
Slash | 00:04 - 26:e Mars 2007 | Post #7 | |
Medlem Inlägg: 141 Skicka PM |
Aha, om du vill ha assembleroutput från gcc så är det bara att specifiera -S-flaggan, om jag inte minns fel. ------------------------- Ingen sigantur! |
main | 00:40 - 26:e Mars 2007 | Post #8 | |
Medlem Inlägg: 40 Skicka PM |
http://en.wikipedia.org/wiki/COM_file ------------------------- - Real programmers code in binary |
jockepockee | 18:23 - 26:e Mars 2007 | Post #9 | |
Medlem Inlägg: 192 Skicka PM |
ok vi kan säja så här, (om de är någon som vet hur man gör) om man vill att en bootloader ska starta upp programmet när man startat datorn måste programmet vara kompilerat på ett speciellt sätt eller kodat på ett speciellt sätt eller både och? -------------------------
Senast redigerad 18:24 - 26:e Mars 2007 |
sdac | 21:21 - 26:e Mars 2007 | Post #10 | |
Medlem Inlägg: 235 Skicka PM |
Citat av jockepockee: ok vi kan säja så här, (om de är någon som vet hur man gör) om man vill att en bootloader ska starta upp programmet när man startat datorn måste programmet vara kompilerat på ett speciellt sätt eller kodat på ett speciellt sätt eller både och? Vad är det du ska ladda in i RAM? Du kan inte ladda in vad som helst hur som helst och förvänta dig att det ska funka... Senast redigerad 21:22 - 26:e Mars 2007 |
main | 01:13 - 27:e Mars 2007 | Post #11 | |
Medlem Inlägg: 40 Skicka PM |
Du måste först behärska assemblerprogrammering. Gör du det? ------------------------- - Real programmers code in binary |
main | 01:21 - 27:e Mars 2007 | Post #12 | |
Medlem Inlägg: 40 Skicka PM |
Det finns några huvudregler du måste följa om du ska skriva bootstraps: 1. BIOS förväntar sig kod på adress 07C00h 2. Du måste kompilera den som "ren binär" 3. Filstorleken måste vara 512 bytes 4. Filen måste sluta med AA55h (du deklarerar ett dw) 5. Du måste själv sätta segment (org) 6. Du måste själv hoppa dit du ska, typ: jmp 07C0h:entry ------------------------- - Real programmers code in binary |
jockepockee | 15:47 - 28:e Mars 2007 | Post #13 | |
Medlem Inlägg: 192 Skicka PM |
jo jag vet, jag har en bootloader som ska starta ett program som heter "kernel.bin" och de jag undrar är att om det programmet kan vara skriven i helt normal c++ med cout och cin mm eller på ett speciellt sätt + om man måste kompilera den på något annat vis än vanligt i så fall hur? EDIT kollade ett exempel som gjorde de jag ville och där använde dom sig av ett länkningsprogram som heter jloc, hur fungerar det? -------------------------
Senast redigerad 15:55 - 28:e Mars 2007 |
Smygis | 17:31 - 28:e Mars 2007 | Post #14 | |
Medlem Inlägg: 90 Skicka PM |
Citat av jockepockee: jo jag vet, jag har en bootloader som ska starta ett program som heter "kernel.bin" och de jag undrar är att om det programmet kan vara skriven i helt normal c++ med cout och cin mm eller på ett speciellt sätt + om man måste kompilera den på något annat vis än vanligt i så fall hur? EDIT kollade ett exempel som gjorde de jag ville och där använde dom sig av ett länkningsprogram som heter jloc, hur fungerar det? Har du ens den blekaste aningen om hur programmering mot hårdvara fungerar? ------------------------- Ingen signatur! <- OMG! Jag har inte någon signatur! Ge mig en signatur FFS! |
jockepockee | 19:19 - 28:e Mars 2007 | Post #15 | |
Medlem Inlägg: 192 Skicka PM |
vadå hårdvara, måste man göra drivrutiner för att de ska funka eller? -------------------------
|
jockepockee | 19:20 - 28:e Mars 2007 | Post #16 | |
Medlem Inlägg: 192 Skicka PM |
srry, dubbelpost -------------------------
Senast redigerad 19:48 - 28:e Mars 2007 |
ozamosi | 20:33 - 28:e Mars 2007 | Post #17 | |
Administratör Inlägg: 1129 Skicka PM |
När man gör en drivrutin programmerar man mot hårdvara. Edit: du skrev inte som jag läste. Ignorera. ------------------------- Ljusblå Senast redigerad 20:37 - 28:e Mars 2007 |
FunkyChicken | 20:41 - 28:e Mars 2007 | Post #18 | |
Nyhetsredaktör Inlägg: 800 Skicka PM |
Ja, du måste ha drivrutiner för att kunna använda din hårdvara. Om du inte har några måste du skriva dem själv. Det finns en anledning till att man inte vanligtvis försöker använda sin dator utan operativsystem... |
sdac | 20:48 - 28:e Mars 2007 | Post #19 | |
Medlem Inlägg: 235 Skicka PM |
Citat av jockepockee: vadå hårdvara, måste man göra drivrutiner för att de ska funka eller? Du kan inte bara kompilera ditt program med Dev-C++ som du verkar arbeta i och sedan tro att det ska funka. Du kan använda GNU objcopy för att skapa en ren binärfil att exekvera, sedan antar jag att du måste initiera VGA text mode själv, och skapa en egen printf (eller cout) som använder sig utav VGA-standarden för att skriva text. Monokrom VGA-text ligger från 0x80000 och sträcker sig 32KB, det finns även färgtext vid 0xB8000 där jämna bytes är bokstäver och udda färgattribut. Du borde dock inte koda det själv om du bara är ute efter att köra ett litet program, sök på Sourceforge.net, finns säkert någon "FreeVGA" eller liknande. |
jockepockee | 18:02 - 29:e Mars 2007 | Post #20 | |
Medlem Inlägg: 192 Skicka PM |
ok, är de där objcopy en kompilator eller nåt program som konverterar till .bin filer? är dedt som jloc eller helt annorluna? (jloc converterar objektfiler till binär filermen jag vet inte hur de funkar) -------------------------
|
Smygis | 18:42 - 29:e Mars 2007 | Post #21 | |
Medlem Inlägg: 90 Skicka PM |
Citat av jockepockee: ok, är de där objcopy en kompilator eller nåt program som konverterar till .bin filer? är dedt som jloc eller helt annorluna? (jloc converterar objektfiler till binär filermen jag vet inte hur de funkar) Ja tror att du gör bäst i att lägga ditt projekt på hyllan ett tag. Och medans det ligger på hyllan så tar du och lär dig lite om hur allt hänger ihop. ------------------------- Ingen signatur! <- OMG! Jag har inte någon signatur! Ge mig en signatur FFS! |
Independence | 18:50 - 29:e Mars 2007 | Post #22 | |
Administratör Inlägg: 1800 Skicka PM |
Det är väl bra med ett projekt under tiden, så han har något konkret som motiverar honom att lära sig om det ------------------------- Vi är riddarna som säger fiskbulle! |
Independence | 21:48 - 29:e Mars 2007 | Post #23 | |
Administratör Inlägg: 1800 Skicka PM |
Det är väl bra med ett projekt under tiden, så han har något konkret som motiverar honom att lära sig om det ------------------------- Vi är riddarna som säger fiskbulle! |
ozamosi | 22:01 - 29:e Mars 2007 | Post #24 | |
Administratör Inlägg: 1129 Skicka PM |
En dubbelpost med tre timmar emellan? ------------------------- Ljusblå |
Independence | 22:34 - 29:e Mars 2007 | Post #25 | |
Administratör Inlägg: 1800 Skicka PM |
Ah, det var nog jag som råkade klicka back efter några timmar och klickade "ok" på "skicka om POST-data"-frågan utan att riktigt veta vad det var för något ------------------------- Vi är riddarna som säger fiskbulle! |
Sidor: 1
Forum huvudsida -> Programmering -> Kompilering
Du får inte posta i den här tråden | Till toppen
Datum
2024-05-08 00:22
Vecka: 19
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.