[C++] Code verdelen over meerdere files

Pagina: 1
Acties:

  • BitProcessor
  • Registratie: Februari 2001
  • Laatst online: 11-09 11:52
Kan je in c/c++ je code splitsen over meerdere files ?
Zoja, wat moet je hiervoor doen ?
soort van includes doen ofzo :?

"I think there is a world market for maybe five computers" - Thomas Watson, chairman of IBM, 1943


  • Dommel
  • Registratie: Maart 2001
  • Laatst online: 09-09 21:01

Dommel

Professioneel Software Sloper

Voor zover ik weet moet je dan inderdaad files includen. Hoe dat precies zit weet ik zo niet maar als ik me niet vergis moet je dan een header-file schrijven en een c-file wat hetzelfde is als de header alleen dan met de uitwerking van de beschreven functies.

Zeker weten doe ik dit niet :)

Lego Taj Mahal te koop --> https://gathering.tweakers.net/forum/list_messages/2109838


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Ja is vrij simpel.

Ik zou echter wel es een manual/tutorial lezen voor je het gaat proberen.

  • Nibble
  • Registratie: Juli 2001
  • Laatst online: 09-09 09:06
Includes ? net zoals bij andere talen ?
(ok, in pascal/delphi heten het units).

T is for TANK, and T is for TERROR ... and K is the K for KILLING in error.


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op vrijdag 23 november 2001 18:42 schreef Nibble het volgende:
Includes ? net zoals bij andere talen ?
(ok, in pascal/delphi heten het units).
Includes ja, maar daar heb je dus de header files voor. En voor het maken/gebruiken van header files zou ik toch echt een manual/tutorial lezen ;)

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 23:11
Op vrijdag 23 november 2001 18:37 schreef G8KeePeR het volgende:
Kan je in c/c++ je code splitsen over meerdere files ?
Zoja, wat moet je hiervoor doen ?
soort van includes doen ofzo :?
Definities in X.cpp file zetten
Declaraties in X.hpp file zetten (of X.h)
( X is typisch de belangrijkste class name )

In elke X.cpp file die declaraties van Y nodig heeft,
de bijbehorende Y includen met
code:
1
#include "Y.hpp"

Let op, #include <headername> is alleen voor standaard
headers zoals vector, list & iostream.

Vervolgens alle .cpp files compileren bv.
code:
1
g++ -c -o x.o x.cpp

en alle object files (.o of .obj) linken to executable
code:
1
g++ -o theprogram x.o y.o

Simpel, toch >:)

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • Korben
  • Registratie: Januari 2001
  • Laatst online: 14-11-2025

Korben

() => {};

Op maandag 26 november 2001 12:28 schreef MSalters het volgende:

[..]

Definities in X.cpp file zetten
Declaraties in X.hpp file zetten (of X.h)
( X is typisch de belangrijkste class name )

In elke X.cpp file die declaraties van Y nodig heeft,
de bijbehorende Y includen met
code:
1
#include "Y.hpp"

Let op, #include <headername> is alleen voor standaard
headers zoals vector, list & iostream.

Vervolgens alle .cpp files compileren bv.
code:
1
g++ -c -o x.o x.cpp

en alle object files (.o of .obj) linken to executable
code:
1
g++ -o theprogram x.o y.o

Simpel, toch >:)
7 letters: p-r-o-j-e-c-t :9

Bij de meeste projectomgevingen worden alleen gewijzigde bestanden gecompileerd, daarna wordt alles gelinkt. Wel moet je een header maken waar alle functies in staan...
code:
1
2
3
4
5
// proggel.h

// stel je hebt een functie blaat...

extern void blaat()

Vervolgens ziet je source er bvb zo uit...
code:
1
2
3
4
5
6
7
8
9
// proggel.cpp
#include <iostream.h>

#include "proggel.h"

void main()
{
  blaat();
}


code:
1
2
3
4
5
6
// blaat.cpp

void blaat()
{
  cout << "Blaat" << endl;
}

Als je dan gewoon proggel.cpp en blaat.cpp aan je project toevoegt en de directory waar je includes in staan instelt, komt alles goed... :z

.oisyn: Échte programmeurs haten PHP met een passie. Ben jij soms geen echte programmeur?

Pagina: 1