🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #15346

Re: probleem met structuur

#15346
From: Frans Bouma
Date: Mon, 16 Oct 2000 00:00
34 lines
3033 bytes
"Matthijs" <matthijslaan@NOSPAMcia-agent.com> wrote in message news:MPG.14552ffc56413268989718@news.xs4all.nl...
> Mede door deze "onzin"(IMHO) denk ik er voorlopig niet aan om met C/C++ 
> te beginnen. Waar slaat dit nou in hemelsnaam op(bij C/C++, niet jouw 
> antwoord)? Is dit ANSI C (werkt het ook op een andere processor dan 
> Intel-compatible)? Hoe is dit te rijmen met het antwoord van FB, die zegt 
> dat een byte is gedefd als een int? Wordt er gewoon een byte van die int 
> afgehakt?

    sorry, mijn fout, ik was even in de war met een BOOL wat als een long
    is gedefineerd. een BYTE is gewoon als een unsigned char getypedefd
    (WTYPES.H)

    Visual C++ doet standaard niet aan alignment vziw, tenzij je dat als optimalisatie
    opgeeft. een byte en een int in 1 struct zetten is mateloos inefficient. Beter
    is om gewoon 2 ints of 3 extra bytes op te nemen, zodat je int op een longword
    boundary blijft. 

    gcc e.d. doen standaard wel aan alignment van dit soort dingen en je moet dan
    dus zelf de pragma's toevoegen om de packing van de structdata goed te krijgen.
    Dit kan een probleem zijn als je blokken data moet inlezen en die blokken stellen
    structs voor (erg fijn ;)). code dat in VC++ is geschreven werkt dan niet met
    gcc, omdat gcc standaard een byte als 4 bytes in een structure opneemt (terecht,
    dat is veel sneller) echter als je data gepacked is zonder paddingbytes dan
    werkt het niet echt ;)

    Maak je echter gebruik van datafiles die je hebt gecreeerd met je eigen code
    die is gecompileerd met dezelfde compiler, dan is er niets aan de hand.

    Wat in de taalsyntax klopt heeft niet zoveel te maken met de gecompileerde binary.
    Een van de gebreken aan C/C++ is dat er geen binaire standaard is, waardoor
    gecompileerde C++ code niet t.a.t. dezelfde richtlijnen volgt, bv voor 
    data alignment, etc etc.

        FB
Technical Details
Message-ID: <8sf9i2$q68$1@news1.xs4all.nl>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <UljG5.29720$s31.471928@afrodite.telenet-ops.be> <3MlG5.19859$Z7.336199@nlnews00.chello.com> <A9mG5.31247$s31.493710@afrodite.telenet-ops.be> <MPG.14552ffc56413268989718@news.xs4all.nl>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: 107324,f57e95232f06f286
X-Google-Attributes: gid107324,public
X-Google-Thread: fcea4,f57e95232f06f286
X-Google-Attributes: gidfcea4,public
From: "Frans Bouma" <perseus@xs4all.nl>
Subject: Re: probleem met structuur
Date: 2000/10/16
Message-ID: <8sf9i2$q68$1@news1.xs4all.nl>
X-Deja-AN: 682108687
Content-Transfer-Encoding: 7bit
Sender: perseus@11dyn31.dh.casema.net
References: <UljG5.29720$s31.471928@afrodite.telenet-ops.be> <3MlG5.19859$Z7.336199@nlnews00.chello.com> <A9mG5.31247$s31.493710@afrodite.telenet-ops.be> <MPG.14552ffc56413268989718@news.xs4all.nl>
X-Priority: 3
Content-Type: text/plain; charset="Windows-1252"
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400
X-Complaints-To: abuse@xs4all.nl
X-Trace: news1.xs4all.nl 971712898 26824 212.64.56.31 (16 Oct 2000 16:14:58 GMT)
Organization: Solutions Design
X-MSMail-Priority: Normal
Mime-Version: 1.0
Reply-To: "Frans Bouma" <perseus@xs4all.nl>
NNTP-Posting-Date: 16 Oct 2000 16:14:58 GMT
Newsgroups: be.comp.programming,nl.comp.programmeren