🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: nl.comp.programmeren
Article #726

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

#726
From: Bernhard Dobbels
Date: Sun, 07 Nov 1999 00:00
86 lines
3227 bytes
In article <38249DCC.ABDE8533@skynet.be>, Bart Vandewoestyne wrote:
>Aangezien ik van plan ben om een grote applicatie te schrijven gebruik
>makend van de GTK bibliotheek in Linux wil ik me toch eerst informeren
>hoe je een groot programma best aanpakt.
>Doe ik het bijvoorbeeld best op volgende manier (voorbeeldsituatie):
>
>In de main.c komt:
>
>#include "sub.h"
>
>int main(void)
>{
> printf("Hoofdfile\n");
> zetboodschap();
>}
>
>Dan maak ik een header file sub.h aan met volgende inhoud:
>
deze lijn niet dus: >#include "sub.c"

dan moet je een constante definieren om te kijken of je include file al eens
geincluded is. Je wilt die er maar 1 keer in hebben:

#ifndef _SUB_H
#define _SUB_H

>
>void zetboodschap(void);
>
>en in mijn sub.c komt dan te staan:
>
>void zetboodschap(void)
>{
> printf("Subfile\n");
>}

#endif  /*_SUB_H */

>Indien mijn programma uit meerdere files bestaat, kan ik dan toch
>compileren met ��n enkele regel in te typen?  Kan iemand me dan kort
>uitleggen waarom 'MakeFiles' bestaan?  Kan ik inderdaad met die ene
>regel compileren of maak ik best zo'n MakeFile aan?

Makefiles zijn gemaakt om makkelijker te compileren. Enkel 'make' typen en
alles wordt gecompileerd

Een eenvoudige Makefile:

SOURCES=file1.c, file2.c
OBJECTS=$(SOURCES:.c=.o)
EXEC=file

all: $(OBJECTS)
        $(LD) -o $(EXEC) $(OBJECTS) $(LIBS)

%.o: %.c
        $(CC) -c $(CFLAGS) $<

clean:
        rm -f $(OBJECTS) $(EXEC) *~


en verder: The GNU Make Manual

>
>Alvast bedankt,
>MC303
>
>-- 
>Bart Vandewoestyne		http://hello.to/MC303		
>Hugo Verrieststraat 48		Bart.Vandewoestyne@skynet.be
>8550 ZWEVEGEM			ICQ# 21275340
>BELGIUM - EUROPE		nick: MC303
>Phone: +32(0)56/75.48.11
>-------------------------------------------------------------------
>If carpenters made buildings the way programmers make programs, the 
>first woodpecker to come along would destroy all of civilization.
>				- Weinberg's Second Law -
>


-- 
Bernhard

"One World, One Web, One Program" - Microsoft Promotional Ad
"Ein Volk, Ein Reich, Ein Fuhrer" - Adolf Hitler
Technical Details
Message-ID: <slrn82ab3c.ds1.Bernhard@Viking.tvd.kotnet.org>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <38249DCC.ABDE8533@skynet.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII
X-Google-Thread: 107324,bea50703bd2c4537
X-Google-Attributes: gid107324,public
X-Google-Thread: 100a19,bea50703bd2c4537
X-Google-Attributes: gid100a19,public
X-Google-Thread: fcea4,bea50703bd2c4537
X-Google-Attributes: gidfcea4,public
From: Bernhard@KotNet.Org (Bernhard Dobbels)
Subject: Re: Opbouw grote programma's via opsplitsing source-files
Date: 1999/11/07
Message-ID: <slrn82ab3c.ds1.Bernhard@Viking.tvd.kotnet.org>
X-Deja-AN: 545458077
Cache-Post-Path: marvin!dingy@tvd-10-67-68-47.tvd.kotnet.kuleuven.ac.be
Content-Transfer-Encoding: 8bit
References: <38249DCC.ABDE8533@skynet.be>
Content-Type: text/plain; charset=iso-8859-1
X-Complaints-To: abuse@belnet.be
X-Trace: naxos.belnet.be 941960300 22092 134.58.127.3 (7 Nov 1999 07:38:20 GMT)
Organization: KULeuvenNet
X-Cache: nntpcache 2.3.3 (see http://www.nntpcache.org/)
Mime-Version: 1.0
User-Agent: slrn/0.9.5.7 (UNIX)
Reply-To: Bernhard@kotnet.org
NNTP-Posting-Date: 7 Nov 1999 07:38:20 GMT
Newsgroups: nl.comp.programmeren,be.comp.programming,be.comp.os.linux