Avatar billede susrn Nybegynder
07. marts 2003 - 11:12 Der er 6 kommentarer og
1 løsning

syntax problemer

Jeg har et par spørgsmål til følgende kode

void b_create (char filnr, void far *statbuf, void far *filename)
{...
    (char far *) statbuf,
...}

hvad er far? og hvorfor bruger man void i parameter listen?
Avatar billede olennert Nybegynder
07. marts 2003 - 11:19 #1
far bruges til at beskrive at en pointer refererer til allokeret hukommelse i et andet segment. Intels oprindelige arkitektur brugte segmenteret hukommelse, hvor det var dyrere at tilgå hukommelse udenfor det aktuelle segment. Så når man skulle gøre det, ville oversætteren gerne vide det, hvorfor dine statbuf og filename pointere er erklæret far. Et andet svar er: Fordi det blev Intel og ikke Motorola der vandt CPU-krigen :-).

Med mindre du laver noget embedded behøver du ikke bekymre dig om far.

void* slår typecheck fra, så du kan overføre en hvilkensomhelst type som statbuf eller filename. Der er nogle få situationer hvor dette giver mening, men som regel er det noget der skal undgås.
Avatar billede arne_v Ekspert
07. marts 2003 - 11:27 #2
far var noget man brugte i 16 bit programmering (DOS og Windows 3.1).

Til at markere at en pointer lå i et andet 64 KB segment.

Af kompabilitets årsager indeholder alle PC compilere
en:

#define far
#define near

eller ligende, så koden stadig compiler.

Medmindre du har planer om at compile med en gammel 16
bit compiler, så slet det !
Avatar billede susrn Nybegynder
07. marts 2003 - 11:38 #3
Tak!,jeg ville gerne give jer begge fuld point, men det kunne jeg ikke få det til, arne hvis du gider svare igen skal jeg se om jeg kan give dig points også
Avatar billede arne_v Ekspert
07. marts 2003 - 11:58 #4
Jeg kan ikke svare opå et spørgsmål der er accepteret svar på.
Avatar billede susrn Nybegynder
07. marts 2003 - 12:18 #5
ok, jeg opretter nyt sprgsmål til dig
Avatar billede arne_v Ekspert
07. marts 2003 - 12:22 #6
Jeg takker.
Avatar billede olennert Nybegynder
07. marts 2003 - 12:27 #7
Også tak for point herfra.
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
Kurser inden for grundlæggende programmering

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