Moi, päätin kokeilla sitten cygwin tsydemiä. Hain siihen gcc 3.3 paketin ja pitäisi aloittaa ohjelmointi sillä. Ero on aikamoinen verrattuna aikaisempiin visuaalisiin systeemeihin... eli asiaan... ei toimi edes hello world... kirjotin tiedoston hello.cpp näin
#include
void main() {
cout
#include
void main() {
cout
Vastaukset 12
Vanhimmat
Ota ainakin return 0; pois jos mainin paluuarvon tyyppinä on void.
otin pois... käännän komennolla c hello.cpp
vastaa
hello.cpp:3: error 'main' must retun 'int'
hello.cpp: in function 'int main(...)':
hello.cpp:4: error: 'cout' undeclader (first use of this function)
hello.cpp:4: error: (each undeclared identifier is reported only once for each function it appears in.)
main on int tyyppinen eli se alkaa int main() ja sitten loppuun tulee se return 0; ennen kun tulee } merkki lopussa
#include
int main() {
cout header for C includes, or instead of deprecated header . To disable this warning use -Wno-deprecated.
MUT TOIMII KUITESKI!!
#include
using namespace std;
...
nyt toimii kun käännän: c hello.cpp
mut mix tilttaa ku: gcc hello.cpp
nää kääntökomennot on vähä uudempi juttu mulle täs cygwinis.
eli jos käytän math kirjastoa niin täytyy laittaa math.h vaikka iostream ei sitä tarvia kun käytän using namespace std komentoa....
eli yleisesti mikä näis on ides? ja onx täs cygwinis ja gcc kääntäjäs jotai hienoo verrattuna noihi tuttuihi visuaalisia systeemeihin? Työn takia näitä nykyään tarvitsen ja tuntuu että olisi siirtynyt ajassa 5 vuotta taaksepäin....
iostream.h = iostream
math.h = cmath
Tossa pitää käyttää standardia c :aa. Kosmeettisten muutosten jälkeen koodi näyttää tältä (eikä pitäisi tulla varoituksia):
#include
int main()
{
' std::cout
#include
// eipä ole vastaan vielä tullut kääntäjää joka ei // kelpuuttas .h
using namespace std;
int main()
{
cout
No kyllä ne kääntäjät ton :n kelpuuttaa kun se tulee mukana yhteensopivuussyistä. Standardissa se on kuitenkin ja suositeltavaa käyttää, jos haluaa, että koodi porttaantuu jatkossa muillekin alustoille (ja eri kääntäjille).
Ja ainakin VC 6.0 varottaa jos puuttuu mainin lopusta 'return 0' mutta sepä ei olekaan standardin mukainen kääntäjä.
mikkis on tunnetusti "standardia kunnioittava"
....