Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Apua VC++:n

Sivun loppuun

Darth_Sebane [25.08.2002 11:34:30]

#

Olisi mukavaa jos joku minua kokeneempi osaisi kertoa kuinka seuraava koodi VC++:lla käännetään TOIMIVAKSI exe-tiedostoksi.

#include <iostream>
using namespace std;

int main()
{
   cout << "\n\"BlaBlaBla\n\t\tBlaBlaBla!\"\n\a";
   return 0;
}

thefox [25.08.2002 18:33:57]

#

#include <iostream>
Lienee järkevintä muuttaa muotoon
#include <iostream.h>

VC++:ssa New project ja sieltä Win32Console tjsp ja Blank template vai mikälie on.
Sitten teet uuden filun New -> C-File tai jotain ja siihen vaan koodi ja makea perään.

Darth_Sebane [26.08.2002 22:45:05]

#

No minäpä yritän!

Darth_Sebane [27.08.2002 13:48:12]

#

K I I T O S ! ! ! fawkz, olen ikuisesti kiitollinen sinulle!

Mutta miksi ohjelma kääntyi vasta kun otin rivin "using namespace std;" pois? ja mitä rivillä oikeasti tekee?

Lauri [27.08.2002 15:34:06]

#

En minä tiedä. Enkä välitäkkään.
Kunhan toimii.

mikko [27.08.2002 21:48:41]

#

lainaus:

Mutta miksi ohjelma kääntyi vasta kun otin rivin "using namespace std;" pois? ja mitä rivillä oikeasti tekee?

Itseasiassa kyseinen rivi määrittelee nimiavaruuden. Virhe saattoi olla kiinni kääntäjästäsi, nimiavaruus kun kaiketi on C++-kielen uudehkoja piirteitä (1994 ?).

C++-kielessä on tavallaan yksi iso nimiavaruus. Se on globaali, siis käytettävien nimien/tunnusten pitää olla yksilöitä. Tuolla rivillä otetaan käyttöön nimiavaruus nimeltä std. Tosta on hyötyä oikeestaan vaan suurissa projekteissa, nimikonflikteja tuskin saa aikaan huolellisesti koodaten... :P

jpk [05.09.2002 14:09:51]

#

Ohimennen mainittakoon että:
#include "iostream.h"
,
#include <iostream.h>
ja
#include <iostream>
ovat kaikki käypiä tapoja liittää headereita. Viimeisin on uusimpien C++ speksien mukainen (jossa .h lisätään nimen perään automaattisesti) ja muut ovat vanhempia merkintätapoja. Yhtä lailla kaikki toimivat, tosin etenkin iostreamin kohdalla kannattaa olla tarkkana, sillä siihen on muistaakseni tullut jotain muutoksia viimeisimmissä spekseissä.

Näiden eri includejen käyttö on tietysti vähän makuasia, mutta itse käytän eri tapoja sekaisin yleensä tähän tapaan:

#include "oma.h" - omien headereiden liittäminen, jotka löytyvät oman ohjelman hakemistoista.

#include <stdlib.h> - erilaisten valmiiden systeemi-kirjastojen liittämiseen, jotka löytyvät jostain kääntäjän tai kirjaston omasta hakemistosta.

#include <vector> - STL:n headereiden liittämiseen.

progo [26.09.2002 15:09:48]

#

jpk: sanoit, että uusissa c++-spekseissä '.h' lisätään automaattisesti esim. iostreamin jälkeen. Näin se ei mene. Jos tutkailee include-kansiota ja sen alikansioita, sieltä löytyy 'paljaita' tiedostoja, kuten string tai iostream

Kunhan vain huomautin. :|


Sivun alkuun

Vastaus

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

Tietoa sivustosta