Benutzer-Werkzeuge

Webseiten-Werkzeuge


public:wettbewerbe:getconnected:crashkurs

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
public:wettbewerbe:getconnected:crashkurs [2010-02-09 11:00]
ignaz angelegt
public:wettbewerbe:getconnected:crashkurs [2010-02-09 13:09] (aktuell)
ben
Zeile 1: Zeile 1:
 ====== Crashkurs Kompileren und Ein-/​Ausgabe mit C, C++ und Java ====== ====== Crashkurs Kompileren und Ein-/​Ausgabe mit C, C++ und Java ======
  
-===== Compilieren ​auf der Console =====+===== Kompilieren ​auf der Console =====
  
 Zu erst öffnet man das home-Verzeichnis (Orte => Persönlicher Ordner) und legt ein neues Verzeichnis an (Datei => Ordner anlegen). Unter Linux muss man auf die Groß- und Kleinschreibung achten. Leerzeichen in Namen machen auf der Console Probleme. Es ist daher sinnvoll Datei- und Verzeichnisnamen immer klein zu schreiben und ohne Leerzeichen. ​                                                                                                                                             ​ Zu erst öffnet man das home-Verzeichnis (Orte => Persönlicher Ordner) und legt ein neues Verzeichnis an (Datei => Ordner anlegen). Unter Linux muss man auf die Groß- und Kleinschreibung achten. Leerzeichen in Namen machen auf der Console Probleme. Es ist daher sinnvoll Datei- und Verzeichnisnamen immer klein zu schreiben und ohne Leerzeichen. ​                                                                                                                                             ​
Zeile 9: Zeile 9:
 Zum Compilieren speichert man zuerst seinen Quellcode ab und öffnet dann eine Console (Anwendungen => Systemwerkzeuge => Terminal). In der Console sollte etwas von der Art Zum Compilieren speichert man zuerst seinen Quellcode ab und öffnet dann eine Console (Anwendungen => Systemwerkzeuge => Terminal). In der Console sollte etwas von der Art
  
-        ​name@rechner(~)$+<​code>​name@rechner(~)$</​code>​
  
 zu sehen sein. Vor dem ``$`` Zeichen sieht man den aktuellen Pfad in runden Klammern. ``~`` bezeichnet das Home-Verzeichnis. Mit  zu sehen sein. Vor dem ``$`` Zeichen sieht man den aktuellen Pfad in runden Klammern. ``~`` bezeichnet das Home-Verzeichnis. Mit 
  
-        ​cd foo+<​code>​cd foo</​code>​
  
 wechselt man in das Unterverzeichnis foo des aktuellen Pfads. (Man kann auch einen absoluten Pfad angeben, hier sollte man aber beachten dass / als Trennzeichen benutzt wird.) Zum Compilieren wechselt man in das Verzeichnis wo die Quelldateien sind.                                                                                                                                                                                                                                              wechselt man in das Unterverzeichnis foo des aktuellen Pfads. (Man kann auch einen absoluten Pfad angeben, hier sollte man aber beachten dass / als Trennzeichen benutzt wird.) Zum Compilieren wechselt man in das Verzeichnis wo die Quelldateien sind.                                                                                                                                                                                                                                             
Zeile 19: Zeile 19:
 Um C Programme zu übersetzen gibt man Um C Programme zu übersetzen gibt man
  
-        ​gcc -Wall -O2 foo.c+<​code>​gcc -Wall -O2 foo.c</​code>​
  
 ein. C++ Programme werden sehr ähnlich übersetzt. ein. C++ Programme werden sehr ähnlich übersetzt.
  
-        ​g++ -Wall -O2 foo.cpp+<​code>​g++ -Wall -O2 foo.cpp</​code>​
  
 In beiden Fällen wird eine ausführbare Datei namens a.out erzeugt. -Wall sorgt dafür, dass Warnungen ausgegeben werden und -O2 dafür, dass der Compiler den Code optimiert. (Achtung: Das O ist ein großes O wie in Otto.) Zum Ausführen gibt man In beiden Fällen wird eine ausführbare Datei namens a.out erzeugt. -Wall sorgt dafür, dass Warnungen ausgegeben werden und -O2 dafür, dass der Compiler den Code optimiert. (Achtung: Das O ist ein großes O wie in Otto.) Zum Ausführen gibt man
  
-        ​./a.out+<​code>​./a.out</​code>​
  
 ein. Man kann die Ein- oder Ausgabe auch umlenken. ein. Man kann die Ein- oder Ausgabe auch umlenken.
  
-        ​./a.out < in.txt > out.txt+<​code>​./a.out < in.txt > out.txt</​code>​
  
 Hier ließt das Programm nun die Eingabe aus der Datei in.txt und gibt diese in die Datei out.txt aus. Man muss nicht immer Ein- und Ausgabe umlenken. Alles was nicht umgelenkt ist, ist an die Console gebunden. Hier ließt das Programm nun die Eingabe aus der Datei in.txt und gibt diese in die Datei out.txt aus. Man muss nicht immer Ein- und Ausgabe umlenken. Alles was nicht umgelenkt ist, ist an die Console gebunden.
  
-        ​./a.out < in.txt +<​code>​./a.out < in.txt 
-        ./a.out > out.txt+./a.out > out.txt</​code>​
  
 Durch benutzen der Pfeiltasten kann man Kommandos wiederholen. Durch benutzen der Pfeiltasten kann man Kommandos wiederholen.
Zeile 42: Zeile 42:
 Java Programme werden wie folgt compiliert. Java Programme werden wie folgt compiliert.
  
-        ​javac Foo.java+<​code>​javac Foo.java</​code>​
  
 Zum Ausführen gibt man Zum Ausführen gibt man
  
-        ​java Foo+<​code>​java Foo</​code>​
  
 ein. Man beachte, dass man hier den Namen der Hauptklasse angibt und nicht wie beim Compilieren den Namen der Quelldatei. Auch bei Java kann man die Ein- und Ausgabe umlenken. ein. Man beachte, dass man hier den Namen der Hauptklasse angibt und nicht wie beim Compilieren den Namen der Quelldatei. Auch bei Java kann man die Ein- und Ausgabe umlenken.
  
-        ​java Foo < in.txt +<​code>​java Foo < in.txt 
-        java Foo > out.txt +java Foo > out.txt 
-        java Foo < in.txt > out.txt+java Foo < in.txt > out.txt</​code>​
  
 Mit && kann man aus 2 Befehlen einen machen. Dies kann nützlich sein, um sicher zu stellen, dass die ausgeführte Datei immer der aktuellsten Version des Sourcecodes entspricht. Zum Beispiel: Mit && kann man aus 2 Befehlen einen machen. Dies kann nützlich sein, um sicher zu stellen, dass die ausgeführte Datei immer der aktuellsten Version des Sourcecodes entspricht. Zum Beispiel:
  
-        ​g++ -Wall -O2 foo.cpp && ./a.out < in.txt+<​code>​g++ -Wall -O2 foo.cpp && ./a.out < in.txt</​code>​
  
 ===== C IO ===== ===== C IO =====
Zeile 62: Zeile 62:
 Die interessanten Funktionen sind printf und scanf aus dem Header <​stdio.h>​. Die interessanten Funktionen sind printf und scanf aus dem Header <​stdio.h>​.
  
-        ​#include <​stdio.h>​ +<​code>​#include <​stdio.h>​ 
-        int main(){ ​       +int main(){ ​       
-                int foo;   +        int foo;   
-                if(scanf("​%d",​ &foo) != EOF) +        if(scanf("​%d",​ &foo) != EOF) 
-                        printf("​Ausgabe:​ %d\n", foo); +                printf("​Ausgabe:​ %d\n", foo); 
-                else                                  +        else                                  
-                        printf("​Keine Zahl in der Eingabe\n"​);​ +                printf("​Keine Zahl in der Eingabe\n"​);​ 
-                                                            ​+}</​code> ​                                                   ​
  
 ===== C++ IO ===== ===== C++ IO =====
Zeile 75: Zeile 75:
 In C++ kann man die C Funktionen verwenden oder man benutzt cout und cin aus <​iostream>​. In C++ kann man die C Funktionen verwenden oder man benutzt cout und cin aus <​iostream>​.
  
-        ​#include <​iostream>​ +<​code>​#include <​iostream>​ 
-        using namespace std;+using namespace std;
  
-        ​int main(){ +int main(){ 
-                int foo; +        int foo; 
-                if(cin >> foo) +        if(cin >> foo) 
-                        cout << "​Ausgabe:​ " << foo << endl; +                cout << "​Ausgabe:​ " << foo << endl; 
-                else +        else 
-                        cout << "Keine Zahl in der Eingabe"​ << endl; +                cout << "Keine Zahl in der Eingabe"​ << endl; 
-        }+}</​code>​
  
 ===== Java IO ===== ===== Java IO =====
Zeile 90: Zeile 90:
 Bei Java kann man die Scanner-Klasse verwenden. Bei Java kann man die Scanner-Klasse verwenden.
  
-        ​import java.util.Scanner;​+<​code>​import java.util.Scanner;​
  
-        ​class Main { +class Main { 
-                public static void main(String[]args){ +        public static void main(String[]args){ 
-                        Scanner s = new Scanner(System.in);​ +                Scanner s = new Scanner(System.in);​ 
-                        int foo; +                int foo; 
-                        if(s.hasNextInt()){ +                if(s.hasNextInt()){ 
-                                foo = s.nextInt();​ +                        foo = s.nextInt();​ 
-                                System.out.print("​Ausgabe:​ "); +                        System.out.print("​Ausgabe:​ "); 
-                                System.out.println(foo);​ +                        System.out.println(foo);​ 
-                        }else +                }else 
-                                System.out.println("​Keine Zahl in der Eingabe"​);​ +                        System.out.println("​Keine Zahl in der Eingabe"​);​
-                }+
         }         }
 +}</​code>​
  
  
public/wettbewerbe/getconnected/crashkurs.1265709625.txt.gz · Zuletzt geändert: 2010-02-09 11:00 von ignaz