Article View: nl.comp.programmeren
Article #730Re: Opbouw grote programma's via opsplitsing source-files
From: Frans Bouma
Date: Sun, 07 Nov 1999 00:00
Date: Sun, 07 Nov 1999 00:00
53 lines
3266 bytes
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-mailReferences:
<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