wiki:CPP
Last modified 15 months ago Last modified on 2016-03-30 13:17:53

C/C++

1. Materiaalia

1.1 Monisteita

1.2 Linkkejä

2. C++ kääntäjä

2.1 MinGW ja Windows

  • jos aiot asentaa CodeLight IDE:n, voit hypätä suoraan siihen vaihtoehtoon
  • aluksi tarvitaan lähes kaikkiin alla oleviin vaihtoehtoihin C/C++ kääntäjä. Tämän saa mm. MinGW-paketista.
  • Windowsiin kannattaa ihan aluksi hakea ja asentaa MinGW. Asentaessa ruksi ainakin C, C++ ja MinGW Developper Toolkit
  • kääntäjä ja työkalut kannattaa lisätä hakupolkuun (oletetaan asennus c:\mingw-hakemistoon). Komentoriviltä:
    path=%path%;c:\mingw\bin
    
    tai sitten (tarvii admin oikeudet) Start/Control Panel/System/Advanced System Settings/Environment Variables/System variables ja siellä path-kohtaan lisätään tuo c:\mingw\bin puolipisteellä muista erotettuna.
  • mikroluokissa MinGW on asennettu polkuun c:\devel\mingw eli polkuun saattamiseksi siis:
    path=c:\devel\mingw\bin;%path%     // polun alkuun jotta voittaa vanhat kääntäjät
    
  • MinGW (tai siis sen ohjelmat kuten gcc) saattaa puhua osittain suomea, kun Windowsin kieliasetus on suomeksi. Jos kaksikielisyys häiritsee, voi kielen vaihtaa englanniksi lisäämällä tai asettamalla järjestelmämuuttujan (kts. yllä, samoin kuin PATHin asettaminen) LANG arvoon C. Komentoriviltä set LANG=C.

2.2 Unix-pohjaiset järjestelmät

  • Unix-pohjaisissa koneissa C/C++ on valmiina (Linux, Mac?)
  • OS X:lle !XCode-kehitystyökalu löytyy App storesta ja sen käyttöä komentoriviltä helpottava "command line tools" asennetaan seuraavasti: http://osxdaily.com/2014/02/12/install-command-line-tools-mac-os-x/ Eli lyhyesti, homma hoituu ajamalla seuraava komento komentorivillä:
    xcode-select --install
    

2.3 Kääntäminen komentoriviltä

  • Kääntäminen, linkittäminen ja ajaminen erikseen (C++-ohjelma, C-ohjelma vastaavasti mutta komento on gcc):
    g++ -c -o hello.o hello.cpp
    g++ -o hello.exe hello.o
    hello
    
  • kaikki kerralla
    g++ hello.cpp -o hello.exe
    hello
    

Jos tehdään C++11 ohjelmia, pitää tämä kertoa komentorivin optiolla, esim:

g++ -std=c++11 -o hello.exe hello.cpp

Mikäli pärjää hyvin yksinkertaisilla ja askeettisilla työkaluilla, on myös yliopiston etäkoneella asennettuna c-kääntäjä (hyvin vanha) ja c++-kääntäjä. Näillä voi hyvin testailla, jos tarvitsee tehdä jotain nopeasti.

Etäkoneelle pääsee kirjautumaan ssh:llä jonkin Telnet-asiakasohjelman esim. Puttyn avulla. Puttyssa Host Name-kohtaan kirjoitetaan jokin seuraavista osoitteista:

  • jalava.cc.jyu.fi
  • halava.cc.jyu.fi
  • calc.phys.jyu.fi ( en ole varma toimiiko myös ei Fysiikan laitoksen opiskelijoille)

Oletuksena nämä avaavat alussa U-aseman juuren ja tallentavat kaiken roskan sinne. Lisää etälinuxin käytöstä Tietokone ja tietoverkot työvälineenä-kurssin sivuilta.

Palvelun aktivoiminen salasana.jyu.fi:sta saattaa olla tarpeen. Sielta "aktivoi etäkäyttö" tms.

Kääntäminen melkein samoin, kuin edellä:

    gcc -o hello hello.c tai ( huomaa puuttuva .exe)
    g++ -o hello hello.cpp

Ja ajaminen:

    ./hello

3. IDE:jä

Ks: IDEt

Vaihtoehtoisia IDE:jä mm (suositus on ehkä CodeLite)

3.1 Eclipse ja C++

  • Asenna Eclipsen tarvitsemat lisäosat
  • Mikroluokissa lähteen käyntiin komentoriviltä ec (vanha versio) tai ec4 (C++ 11 -versio)
  • testattu 13.4.2012 / vesal / W7 64 bit (Indigo)
  • testattu 19.4.2014 / vesal / W7 64 bit (Kepler)

3.2 Netbeans ja C++

3.3 CodeLite

  • Windows, Linux, Mac: CodeLite, lataa ja asenna
  • - vaati projektin
  • + pysähtyy ajon jälkeen konsoli-ikkunaan jolloin tuloksen ehtii nähdä
  • + ComTest toimii hyvin
  • + jos MinGW polussa ennen käynistystä, niin toimii ihan hyvin
  • jos valittu asennukseen MinGW -versio, niin ei tarvitse mitään temppuja
  • projektin tekeminen CodeLitellä.
  • mikroluokassa lähtee käyntiin komentoriviltä komennolla cl
  • testattu 13.4.2012 / vesal / W7 64 bit (versio codelite-3.5.5377.exe)
  • testattu 14.4.2013 / vesal / W8 64 bit (versio codelite-5.1.0.mingw4.7.1.exe)
  • testattu 14.4.2014 / vesal / W8 64 bit (versio codelite-5.4-mingw4.8.1.exe)

3.4 Code::Blocks

  • Linux & Windows: http://www.codeblocks.org/
  • + projektiin helppo lisätä ja poistaa tiedostoja, näin valita mitä ajetaan
  • + pysähtyy konsoli-ikkunaan ajon lopuksi ja näyttää vieläpä ajon kestoajan
  • - ctrl-click hyppyä esittelyyn
  • + ComTest toimii hyvin
  • - ei saa koodilohkoja joilla olisi helppo tehdä testejä (???)
  • projektin tekeminen CodeBlocksilla.
  • testattu 13.4.2012 / vesal / W7 64 bit (versio codeblocks-10.05-setup.exe, MinGW pitää olla ensin asennettu ja polussa)

3.5 KDevelop

3.6 Qt Creator

  • Linux, Windows, Mac: http://qt.nokia.com/downloads
  • + Kevyt (oli), aktiivisessa kehityksessä oleva C++ -IDE
  • + Erinomaiset Qt-työkalut
  • - Hiukan Qt-keskeinen muihin projekteihin, mutta on käytettävissä myös ei Qt-projekteihin (en saanut debuggeria toimimaan Command ohjelmiin W7 64 bit)
  • testattu 13.4.2012 / vesal / W7 64 bit

3.7 Dev C++

  • Windows: Dev C++ 5.6.2, asenna ja aja
  • + konsoli-ikkuna jää näkyviin suorituksen jälkeen
  • + yksinkertainen ja toimii ilman projektejakin
  • + MinGW (vanha???) tulee ja asentuu mukana
  • - debuggaus aika käpystä kun on huono liittymä gdb:hen
  • testattu 14.4.2013 / vesal / W8 64 bit
  • testattu 19.4.2014 / vesal / W8 64 bit

3.8 C-Free

  • Windows: http://www.programarts.com/cfree_en/index.htm, asenna ja aja
  • - vain 30 päivän käyttö
  • + yksinkertainen, toimii ilman projekteja
  • - hiiren rulla ei toimi, ei ctrl-click hyppyä esittelyyn
  • - ei toiminut kunnolla W7 64 bit (debug ei toimi)
  • testattu 13.4.2012 / vesal / W7 64 bit

3.9 C++ ja XCode (Mac OSX)

3.10 Visual Studio 2012 (2011)

4. Dokumentointi

  • Doxygen avulla saa samankaltaisen dokumentaation kuin JavaDocilla

5. ComTest