Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Koodien yhdistäminen

Sivun loppuun

ristokor [16.03.2006 21:35:32]

#

Eli tulipa tässä ongelma eteeni kun rallipeliä olen tekemässä. Nyt olen tehnyt sen kirjoitusfunktion, joka piirtää näytölle parametrina annetun merkkitaulukon. Kirjoitusfunktio on eri lähdekoodissa kuin itse rallipeli, ja nyt haluaisin yhdistää ne niin, että kummankin funktioita, yms. voisi käyttää kummastakin lähdekoodista. Olen kuullut linkittämisestä, mutta miten se tapahtuu? Entäs mikä on Dev-cpp:n add to project toiminto? Kokeilin sillä ja projektiini ilmestyi kummatkin sorsat yhtäaikaa. Tällä toiminnolla ei kuitenkaan onnistunut yhteisten muuttujien käyttö. Kielenä on siis c++.

Heikki [16.03.2006 21:58:12]

#

Kaikki lähdekooditiedostot pitää lisätä projektiin. Tämän lisäksi on tehtävä erillinen otsikkotiedosto, jossa esittelet funktiot.

Tässä esimerkki jossa main.cpp.ssä on pääohjelma ja se käyttää funktiot.cpp:ssä olevaa funktiota:

// main.cpp
#include "funktio.h"
int main() {
 int n=34;
 Foo(n);
 return 0;
}
// funktio.h
void Foo(int &luku);
//funktio.cpp
#include "funktio.h"
void Foo(int &luku) {
 luku++;
}

Projektissa pitäisi siis olla molemmat cpp-tiedostot.

Megant [16.03.2006 22:03:03]

#

#include on kiva :)
Esimerkkiä:

// Headerit.h
int muuttuja; //määritellään muuttujä
// Ohjelma.cpp
#include "Headerit.h" //Jos käytetään "-merkkejä kääntäjä hakee sisällytettävää tiedostoa samasta hakemistosta kuin Ohjelma.cpp on.
int main()
{
 muuttuja = 8; //annetaan arvo
 return 0;
}

EDIT: Olinpa hidas.

ristokor [16.03.2006 22:28:08]

#

Tuli virhe, että: "no newline at end of line"

Mitä se tarkoittaa?

Ja koodi on tässä:

void draw();
void write(int, int);
void askwrite(char[], int[], int);

rndprogy [16.03.2006 22:32:29]

#

ristokor kirjoitti:

Tuli virhe, että: "no newline at end of line"

Tuo ei ole errori, vaan warningi josta ei NIIN kauheasti tarvi välittää sillä ohjelma kuitenkin toimii. Voin (vapaasti) suomentaa tuon puolestasi. :P
"Ei uutta riviä viimeisen rivin jälkeen." Eli tuo korjaantuu kun painat viimeisen rivin lopussa enter.

Blaze [16.03.2006 22:34:13]

#

ristokor kirjoitti:

Tuli virhe

Varoitus

ristokor kirjoitti:

"no newline at end of line"

Iske yks entteri viimisen rivin päätteeksi.

Metabolix [17.03.2006 01:34:08]

#

Korjaus Heikin esimerkkiin: otsikkotiedostossa olevan määrittelyn alussa pitää olla extern. Yllättäen joku muukin on törmännyt samaan ongelmaan, https://www.ohjelmointiputka.net/keskustelu/10803-funktiot-ojennukseen

_Pete_ [27.03.2006 10:49:25]

#

rndprogy kirjoitti:

Tuo ei ole errori, vaan warningi josta ei NIIN kauheasti tarvi välittää sillä ohjelma kuitenkin toimii. Voin (vapaasti) suomentaa tuon puolestasi. :P
"Ei uutta riviä viimeisen rivin jälkeen." Eli tuo korjaantuu kun painat viimeisen rivin lopussa enter.

Sen sijaan että opettelee olemaan välittämättä kääntäjän varoituksista kannattaa opetella korjaamaan koodi niin, että varoituksia ei tule.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta