Avatar billede firehat Nybegynder
01. september 2004 - 21:19 Der er 19 kommentarer og
1 løsning

#include expects "FILENAME" or <FILENAME>

Hey,

Jeg er igang med at prøve den sidste kode her: http://www.groovyweb.uklinux.net/index.php?page_name=how%20to%20write%20your%20own%20os

Men når jeg compiler får jeg følgende fejl:
hello.c:1:27: #include expects "FILENAME" or <FILENAME>
hello.c: In function `main':
hello.c:10: warning: implicit declaration of function `movedata'
hello.c:14:2: warning: no newline at end of file
d:/progra~1/djgpp/bin/ld.exe: binary: No such file: No such file or directory (ENOENT)

Har ændret lidt i 'built.bat' så den ser sådan her ud:
@echo off
set PATH=D:\Programmer\djgpp\bin;%PATH%;D:\Shared\os
set DJGPP=D:\Programmer\djgpp\djgpp.env
chdir D:\Shared\testos

nasm -f aout -o load.o load.asm
gcc -c -O2 -Wall -g -o hello.o hello.c
ld -o pm.com -oformat binary -Ttext=0x100 load.o hello.o /djgpp/lib/libc.a

Tak på forhånd :)

/Firehat
Avatar billede arne_v Ekspert
01. september 2004 - 21:25 #1
Der er  noget galt i den kode - det er ikke rigtig C. Man bruger #include
til en fil.
Avatar billede firehat Nybegynder
01. september 2004 - 21:26 #2
hmm okay..kan du hjælpe med at lave den "rigtig" så?
Avatar billede firehat Nybegynder
01. september 2004 - 21:27 #3
der ligger en fil der hedder movedata.h i djgpp/include/sys/ - skal jeg bruge den til noget eller?
Avatar billede arne_v Ekspert
01. september 2004 - 21:29 #4
Så prøv:

#include <sys/movedata.h>
Avatar billede firehat Nybegynder
01. september 2004 - 21:35 #5
så for jeg denne fejl:


hello.c:14:2: warning: no newline at end of file
d:/progra~1/djgpp/bin/ld.exe: binary: No such file: No such file or directory (E
NOENT)


Min kode ser sådan her ud nu:
#include <sys/movedata.h> // /* movedata() */

#define    LINEAR_SEL    0x08
#define    SYS_DATA_SEL    0x18

int main(void)
{
    const char Msg[] = "h e l l o ";

    movedata(SYS_DATA_SEL, (unsigned)Msg,
        LINEAR_SEL, 0xB8000,
        sizeof(Msg));
    return 0;
}
Avatar billede arne_v Ekspert
01. september 2004 - 21:41 #6
Warning'en skylde bare at du mangler et linieskift efter den
afsluttende }
Avatar billede arne_v Ekspert
01. september 2004 - 21:43 #7
Den anden fejl må skyldes at en af følgende filer mangler: load.o hello.o /djgpp/lib/libc.a
Avatar billede firehat Nybegynder
01. september 2004 - 21:47 #8
Virker efter at have lavet linieskift :)

Men den anden kommer stadig, har prøvet at skrive fuld stig, og tjekket om det hele er der - og det er det?

Hvad kan jeg så prøve?
Avatar billede firehat Nybegynder
01. september 2004 - 21:49 #9
kan det være pm.com som mangler? og hvor burde den så ligge?
Avatar billede arne_v Ekspert
01. september 2004 - 21:51 #10
Prøv at erstat

-oformat binary

med:

--oformat binary
Avatar billede firehat Nybegynder
02. september 2004 - 15:27 #11
Det virker :) men når jeg så for det ned på diskette og prøver at boote fra den så viser den en sort skærm i ca 5 sek og så genstarter..Den viser ikke noget tekst
Avatar billede firehat Nybegynder
02. september 2004 - 15:29 #12
Den viser heller ikke noget hvis jeg prøver at køre pm.com (som de to filer blev compilet til) i win..?
Avatar billede arne_v Ekspert
02. september 2004 - 20:42 #13
det har jeg ingen anelse om hvad skyldes
Avatar billede firehat Nybegynder
02. september 2004 - 21:01 #14
hmm okay, er movedata brugt rigtigt?
Avatar billede arne_v Ekspert
02. september 2004 - 21:07 #15
Jeg tror den er OK.

Sammenlign med:

http://www.osdever.net/tutorials/pm.php?the_id=16
Avatar billede firehat Nybegynder
04. september 2004 - 18:00 #16
Ja okay..man kan ikke lave en eller anden test om hel
Avatar billede firehat Nybegynder
04. september 2004 - 18:01 #17
prøver igen: Ja okay..man kan ikke lave en eller anden test om hello.o overhovdet bliver vist/brugt?
Avatar billede arne_v Ekspert
04. september 2004 - 18:03 #18
Måske.

Jeg ved meget om C. Jeg har faktisk brugt DJGPP. Men jeg ved intet
om boot loadere.
Avatar billede arne_v Ekspert
06. september 2004 - 21:47 #19
et svar da dit oprindelig espørgsmål ihvertfald blev løst
Avatar billede firehat Nybegynder
07. september 2004 - 13:37 #20
ja, tak :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester