🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: nl.comp.programmeren
Article #730

Re: Opbouw grote programma's via opsplitsing source-files

#730
From: Frans Bouma
Date: Sun, 07 Nov 1999 00:00
53 lines
3266 bytes
Bart Vandewoestyne <Bart.Vandewoestyne@skynet.be> wrote in message news:38253EA9.1D7A1ADF@skynet.be...
> Frans Bouma wrote:
> >
> > > #include "sub.c"
> >
> >     erm... er zijn header files en er zijn codefiles.
> >     geen codefiles includen. maak dan een .h file aan.
>
> Wow, ik denk dat ik het hier verkeerd voor heb.  Eerst even een vraagje
> voor de duidelijkheid: wat veronderstel jij dat er in je headerfiles
> staat?  Enkel hoe de functies er uit zien (zonder body) of mīŋŊt de body
> van de functies er bij?  Als je veronderstelt dat in je headerfiles ook

    headerfiles: alle definities die je nodig hebt: dus constantes,
    functie definities en global var definities.
    In je .c file zet je die dus NIET.
    In je .h file neem je dus ook GEEN implementatie op. dat zet je in je
    c file.

> de body van de functies uitgewerkt staat kan ik in je redenering komen.
> Als je echter in je headerfiles enkel de  beschrijving (zonder body) van
> je functies zet, moet ik volgens mij toch die #include "sub.c"
> schrijven.  Als leidraad gebruik ik 'Practical C Programming' van
> O'Reilly en op pagina 305 heeft men het toch over 3 soorten files:

    nou, als ik een source zie waar DAT instaat kijk ik niet verder.
    gewoon :
    #ifndef    _UNIQUENAME_
    #define    _UNIQUENAME_

    ... rest van .h file

    #endif

    een .h file is een file waar definities opgenomen staan die dus in de
    .c file worden gebruikt of eventueel in een andere file. Als jij dus
    een #define in je .c file doet en je wil die ergens anders gebruiken
    dan moet je de .c file includen. maar dat is dus slecht programmeren IMHO.

> main.c  -> de hoofdfile van het programma die gebruik maakt van functies
> uit sub.*
>
> sub.h  -> is Public en bevat enkel de beschrijving van de functies die
> in sub.c gedefinieerd worden

    public? je bent in C bezig. je hebt geen public/private/friend/protected

> sub.c  -> is Private en bevat de implementatie van de functies die in
> sub.h beschreven worden.

    private? nu zijn deze dingen sematisch maar toch heb je ze niet in C.

    FB
Technical Details
Message-ID: <803hib$p35$1@news1.xs4all.nl>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <38249DCC.ABDE8533@skynet.be> <802cvd$i3f$1@news1.xs4all.nl> <38253EA9.1D7A1ADF@skynet.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII
X-Google-Thread: 100a19,bea50703bd2c4537
X-Google-Attributes: gid100a19,public
X-Google-Thread: 107324,bea50703bd2c4537
X-Google-Attributes: gid107324,public
X-Google-Thread: fcea4,bea50703bd2c4537
X-Google-Attributes: gidfcea4,public
From: "Frans Bouma" <perseus@xs4all.nl>
Subject: Re: Opbouw grote programma's via opsplitsing source-files
Date: 1999/11/07
Message-ID: <803hib$p35$1@news1.xs4all.nl>
X-Deja-AN: 545478135
Content-Transfer-Encoding: 8bit
Sender: perseus@9dyn203.dh.casema.net
References: <38249DCC.ABDE8533@skynet.be> <802cvd$i3f$1@news1.xs4all.nl> <38253EA9.1D7A1ADF@skynet.be>
X-Priority: 3
Content-Type: text/plain; charset="iso-8859-1"
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2014.211
X-Complaints-To: abuse@xs4all.nl
X-Trace: news1.xs4all.nl 941967755 25701 212.64.30.203 (7 Nov 1999 09:42:35 GMT)
Organization: Solutions Design
X-MSMail-Priority: Normal
Mime-Version: 1.0
Reply-To: "Frans Bouma" <perseus@xs4all.nl>
NNTP-Posting-Date: 7 Nov 1999 09:42:35 GMT
Newsgroups: nl.comp.programmeren,be.comp.programming,be.comp.os.linux