C++ Compiler unter Windows

Die GCC (GNU Compiler Collection) gibt es auch für Windows: http://www.mingw.org/

Nachdem man den MinGW installiert hat muss man die Umgebungsvariablen setzen. Unter Windows 2000 und Windows XP geht das über „Start -> Einstellungen -> Systemsteuerung -> System -> Erweitert -> Umgebungsvariablen“. Hier änderst du die PATH Variable so, dass sie ins MinGW BIN Verzeichnis zeigt. Aber Achtung: die anderen Werte ungeändert lassen.

Danach ist das Kompilieren recht simpel: g++ -o helloWorld.exe hello.cpp

einfach in der Kommandozeile eingeben (DOS-Eingabeaufforderung) – vorher natürlich in den richtigen Pfad wechseln

Weiter wichtige Parameter sind: wichtige Compiler-Optionen für den g++ Option Wirkung -o bestimmt den Namen der Binary -c nur kompilieren, nicht linken -Wall aktiviert alle Warnungen (sollte man immer verwenden) -W zeige zusätzliche Warnmeldungen an -std=c++98 bestimmt den verwendeten Standard (c++98 ist der aktuelle)

weitere Compileroptionen: http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html#Option-Summary

Google Syntax für gezieltes Suchen

„“: Suchen nach einer exakten Phrase Wenn Sie Ihre Suchwörter in Anführungszeichen („“) setzen, gibt Google Seiten zurück, in denen die Suchwörter exakt so vorkommen, wie eingegeben. Dies ist vor allem dann sinnvoll wenn Sie eine Phrase suchen, etwa den genauen Titel eines Schriftstücks, ein Zitat, oder eine Redewendung.

Rationalisierung: Verwenden Sie „OR“ um Suchanfragen zu sparen. OR: Effizienter suchen Die Verknüpfung von Suchwörtern mit „OR“ hilft Suchvorgänge effizienter zu gestalten. Suchen Sie zum Beispiel alle Webseiten, die sich mit Notebooks und Laptops befassen, können Sie zwei getrennte Suchen ausführen. Schneller geht es mit der Eingabe „notebook OR laptop“.

Weniger: Der Minusoperator unterdrückt Suchwörter. Minus: Unterdrücken eines Wortes Beginnt eines Ihrer Suchwörter mit dem Minusoperator, werden alle Treffer ausgefiltert, die dieses Suchwort enthalten. Hilfreich ist dies bei Suchwörtern mit Doppelbedeutung. Wenn Sie zum Beispiel die Software „Paint Shop Pro“ mit dem Suchwort PSP suchen wollten, wäre es hilfreich die Suche so zu formulieren: „PSP -sony -playstation“.

Tilde: Sucht auch nach Synonymen. ~: Nach Synonymen suchen Stellen Sie Ihrem Suchwort ein Tilde (~) voran, sucht Google auch nach Synonymen. Eine Suche nach dem englischen „~genealogy“ liefert zum Beispiel ebenso Ergebnisse für eine Suche nach „Family History“. Leider sind die Ergebnisse für deutsche Begriffe mager.

site: Seiten oder Bereiche durchsuchen Besonders bei internationalen Begriffen liefert Google häufig ungewollte Ergebnisse. Mit dem Operator „site“ filtern Sie diese nach Bereichen oder einzelnen Seiten. Lassen Sie Ihrem Suchwort den Text „site:de“ folgen, werden nur deutsche Seiten angezeigt. Suchergebnisse einer Webseite erhalten Sie zum Beispiel durch den Anhang „site:www.chip.de“.

ext: Beschränkt die Ergebnisse auf bestimmte Dateitypen. ext: Filtern nach Dateitypen Der Operator „ext:“ oder auch „filetype:“ begrenzt die Suchergebnisse auf den definierten Dateityp. Das ist besonders hilfreich, wenn Sie ein Schriftstück im PDF-Format oder eine mit Powerpoint erstellte Präsentation (PPT) aufspüren möchten. Es funktioniert aber genauso gut mit anderen Dateierweiterungen.

Von..bis: Grenzen Sie numerische Suchen ein. Von..bis: Suche nach Zahlenbereichen Wenn Ihre Suche abhängig von Zahlen ist, bietet Google die Möglichkeit, die Anfrage gleich auf einen vorgegebenen Bereich auszudehnen. Verbinden Sie einfach zwei numerische Werte mit dem „..“-Operator. Dies kann zum Beispiel die Suche nach einem Produkt innerhalb einer Preisspanne erleichtern.

link und safesearch Mit „link:“ ermitteln Sie Seiten, die auf das Suchwort verlinken. Der Ausdruck „link:www.myhome.de“ findet so Seiten, die auf Ihre Homepage verlinken. Das Schlüsselwort „safesearch:“ will erotische Inhalte aus den Ergebnissen ausfiltern. In der Praxis ist dieses Schlüsselwort allerdings umstritten, da häufig Gesuchtes ausgeblendet wird und so kaum Suchtreffer geliefert werden.

FHM Webspace für Studenten

SFTP
Host: afscl.cs.fhm.edu
Port: 22
Kennung: ifw

Zum Einrichten deiner Website musst du dir das Tool WinSCP von http://winscp.vse.cz/eng/ oder das Kommandozeilen-Tool pscp von http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html holen, bzw. wenn du unter Linux arbeitest kannst du direkt mit scp arbeiten. Direkte SSH-Logins sind nicht erlaubt. Dann connecte damit auf www.cs.fhm.edu, dein Benutzername ist deine ifw-Nummer und dein Password die ersten 8 Stellen deiner Matrikelnummer. Wechsle dann ins Verzeichnis „public_html“, dort kannst du deine Homepage hochladen. Sie ist dann später unter http://www.cs.fhm.edu/~ifwxxxxx erreichbar…

MMIX Getting started

Quelle: http://www-users.rwth-aachen.de/martin.weusten/index.php?id=article/MMIX_Einrichten.htm

MMIX – Tutorial Dieses (sehr) kleine Tutorial soll dir helfen den MMIX-Assembler auf deinem Rechner ans laufen zu bekommen. Da ich bei mir MMIX bisher nur unter Windows eingerichtet habe, beschreibt dieses Tutorial die Einrichtung auch nur für Windows XP (unter Win2k sollte es ähnlich gehen). (Hilfe zur Einrichtung unter Linux auf Anfrage.)

Zuerst musst du dir den MMIX Assembler und den MMIX Emulator herunterladen. Ich habe zwei verschiedene Versionen gefunden, einmal eine relativ neue und die alte von der RechnerStrukturen-Seite des SS2003, welche Version besser ist weiß ich auch nicht. Entpacke die Dateien an einen beliebigen Ort auf deiner Festplatte, z.B. „c:\Programme\MMIX“

Windows-Einstellungen Es ist hilfreich sich diesen Pfad zur Umgebungsvariable „Path“ hinzuzufügen, damit der Rechner den MMIX auch ohne Pfadangabe findet.

Umgebungsvariable ändern: „Arbeitsplatz“ -> „Eigenschaften“ (im Kontextmenü) -> „Erweitert“ (Registerkarte) -> „Umgebungsvariablen“ Dort unter „Systemvariablen“ die Variable „Path“ suchen und auf „Bearbeiten“ klicken. Bei „Wert der Variablen“ kannst du am Ende deinen Pfad anfügen. Die einzelnen Pfade werden durch Semikolon getrennt. Du solltest nicht auf die Idee kommen hier willkürlich irgendwelche anderen Pfade zu verändern/löschen.

Jetzt solltest du dir einen Ordner anlegen in dem du deine MMIX-Programme ablegen kannst. z.B. „c:\Progen\MMIX“ Damit du diesen Ordner auch bequem mit der Konsole erreichen kannst, erstelle dir eine Verknüpfung auf „%SystemRoot%\system32\cmd.exe“ (Hinweis: Das %SystemRoot% wird automatisch von Windows ersetzt und braucht dich daher nicht weiter zu kümmern) Anschließend änderst du das Arbeitsverzeichnis der Verknüpfung auf den Pfad für deine selbstgeschriebenen Programme. Dadurch startet die Konsole automatisch im gewünschten Verzeichnis.

Arbeitsverzeichnis einer Verknüpfung ändern: „Eigenschaften“ der Verknüpfung (im Kontextmenü) aufrufen. Dort kann man den gewünschten Pfad bei „Ausführen in:“ angeben.

Es ist sehr empfehlenswert in Windows die Dateierweiterungen anzeigen zu lassen, damit man .mms-Dateien von .mmo-Dateien unterscheiden kann. Dies geht im Arbeitsplatz unter „Extras“ -> „Ordneroptionen“ -> „Ansicht“ (Registerkarte) und dort den Haken bei „Erweiterungen bei bekannten Dateitypen ausblenden“ entfernen.

Der Editor Als nächstes brauchst du einen TextEditor mit dem du deine Programme schreibst. Ich empfehle Notepad2 (ist Opensource), zur Not reicht aber auch das einfache Windows-Notepad („notepad.exe“). Es ist ungemein praktisch, wenn .mms-Dateien automatisch mit deinem Editor geöffnet werden. Notepad2 (siehe oben) unterstützt zwar Drag&Drop, trotzdem ist das öffnen per Doppelklick auf die Datei noch bequemer. (und Studis sind ja faul…)

Programm zum öffnen eines unbekannten Dateityps einstellen: Klicke doppelt auf die unbekannte Datei und wähle „Programm aus einer Liste auswählen“. In der folgenden Liste wälst du das gewünschte Programm aus. Solltest du dein Programm nicht finden, kannst du unten auf „Durchsuchen…“ klicken und die .exe-Datei deines gewünschten Editors manuell angeben. Damit das ganze von nun an immer automatisch passiert, kannst du den Haken bei „Dateityp immer mit (…) öffnen“ auswählen. Solltest du das ganze irgendwann einmal rückgänig machen wollen, oder du hast ein Programm, das nur glaubt es könne .mms-Dateien öffnen, dies geht hier: „Arbeitsplatz“ -> „Extras“ -> „Ordneroptionen“ -> „Dateitypen“ (Registerkarte) Hier kann man sich überings auch ein Datei-Icon einstellen, falls einem das Standart-Icon nicht gefällt.

Das erste Programm Nun solltest du MMIX mit einem kleinen Programm, z.B. dem folgenden HelloWorld-Programm testen.

LOC #100

Text BYTE „Hello, World!“,#a,0 Main GETA $255,Text

TRAP 0,Fputs,StdOut
TRAP 0,Halt,0

Erstelle eine Datei mit obigem Code und speichere sie unter „hello.mms“. Dann öffnest du die Konsole. Zuerst muss der Assembeler das Programm in Maschinen-Code umwandeln. Gebe dazu „mmixal hello.mms“ in die Konsole ein. Anschließend kannst du das Programm mit „mmix hello“ starten.

Fehlermeldungen – FAQ In den Fehlermeldungen ist immer auch die Zeilennummer des Fehlers angeben. Somit kann man in den meisten Fällen einen Fehler schnell finden. Nun eine kleine Liste der häufigsten Fehlermeldungen/Warnungen beim assemblieren:

*

„test.mms“, line 3 warning: relative address is not divisible by 4

MMIX verwaltet relative Adressen in einem 4-Byte-Raster (ein TetraByte), da dadruch größere Sprungweiten möglich sind. D.h. die Addresse an der der Befehl liegt muss durch 4 teilbar sein. Andere Adressangaben werden auf die nächst niedrigere durch 4 teilbare Zahl abgerundet. Lösung: Benutze z.B. den LOC-Befehl um den Befehl in der angegebenen Zeile zu verschieben.
*

„test.mms“, line 15 warning: trailing characters of long input line have been dropped

Die angebene Zeile war zu lang und wurde abgeschnitten. In den meisten Fällen dürfte dies nur ein Kommentar gewesen sein. Es ist aber möglich die Datei mit der Option „-b “ zu assemblieren. Durch das folgende Beispiel wird der Lese-Puffer auf 256 Zeichen verlängert und der Fehler sollte nicht mehr auftreten: mmixal -b 256 test.mms
*

„test.mms“, line 7: no base address is close enough to the address A!

Du hast einem Load- bzw. Store-Befehl (LDB,STB, …) ein Label als Adresse übergeben. Diese ist zwar möglich, jedoch muss man in der Nähe der Speicheradresse die man laden/speichern will eine Basisadresse festlegen. Hier zu reicht ein einfaches GREG @ in der Nähe der Speicheradresse. (maximal 254 Tetrabytes entfernt) Dies fehlt in den Beispielen auf den Folien zur Vorlesung. (siehe Folien 28.04.05 – Seite 8,10)
*

„test.mms“, line 8: relative address is more than #ffff tetrabytes forward!

Du hast versucht mit GETA die Adresse eines Labels zu laden, das sich mehr als 65535 Tetrabytes entfernt von der aktuellen Speicherposition befindet, also beispielsweise im Data_Segment. Der GETA-Befehl kann jedoch nur auf Label im lokalen Speicherbereich (aktuelle Basisadresse) zugreifen. Verwende stattdessen den LDA Befehl (LoadAddress).
Der Fehler kann auch im Zusammenhang mit Sprungbefehlen wie JMP oder BZ auftreten. Versuche dein Programm (also die Befehle, nicht die Daten) innerhalb von 65535 Tetrabytes anzuordnen. Sollte dies nicht möglich sein, teile dein Programm in Unterprogramme auf und benutze GO oder PUSHJ bzw. PUSHGO um zwischen den Teilen hin und her zu springen.
*

„test.mms“, line 6: unknown operation code ‚xxxx‘!

Den verwendeten Befehl gibt es nicht. Wahrscheinlich hast du dich vertippt.
*

undefined symbol: Main

Du hast vergessen ein Label für den Programmanfang zu setzen. Eine andere Möglichkeit ist, dass das Label in einer ungültigen Zeile steht. Setze in der Zeile in der das Programm beginnen soll ein Label mit dem Namen „Main“. In dieser Zeile muss ein Assemblerbefehl stehen, kein Pseudo-Operator. (siehe Folien 28.04.05 – Seite 8)

abitmodernCopyright

Excel: Summe mit Bedingung

Wenn Sie in einer Spalte Zahlen addieren möchten, aber nur dann, wenn in einer anderen Spalte in der gleichen Zeile eine bestimmte Bedingung erfüllt ist, dann ist diese Funktion genau das, was Sie suchen (Spalten und Zeilen können Sie übrignes auch tauschen…)

1. In Spalte A stehen beispielsweise Bezeichnungen wie „Apfel“, „Birne“, „Orange“ und so weiter. Die Begriffe werden mehrfach genannt. In Spalte B stehen die dazugehörigen Stückzahlen. Sie wollen wissen, wie viele Äpfel sie insgesamt haben. Hier versagt die normale Summenformel.

2. In eine beliebige Zelle tragen sie folgende Formel ein: =SUMMEWENN(A:A;“Apfel“;B:B) An erster Stelle steht der Kriterienbereich, hier A:A für die Spalte A, gefolgt vom Kriterium „Apfel“. Wenn in Spalte A Apfel steht, wird der entsprechende Wert aus dem Wertebereich B:B in die Summe einbezogen.

(Hinweis: SUMMEWENN erlaubt nur ein Kriterium)

Materialliste für Fahrradtouren

2004 hatte ich zwischen dem Abschluss meines Wehrdienstes und der Aufnahme der Ausbildung Zeit, die ich so bald nicht wieder haben sollte. So beschloss ich mir einen Traum zu erfüllen und fuhr mit dem Fahrrad 1500 km von Husum an der Nordsee bis Konstanz am Bodensee. Hierfür hatte ich folgendes Material dabei, was sich sehr bewehrt hat:

Bekleidung:
* 2 kurze Trikots
* 1 langes Trikot
* 3 Unterhemden
* 2 Radhosen
* 1 Regenjacke
* 1 Regenhose
* 2x Stulpen
* 1 Pullover
* 1 lange Hose
* 1 T-Shirt
* 5x Socken
* 5x Unterwäsche
* 5 Taschentücher
* Fahrradhandschuhe
* Fahrradhelm
* Handwaschpaste
* Fahrradbrille
* 2x Schuhe
* Schlafzeug
* Badehose

Unterhaltung:
* 1 Digitalkamera
* Kameratasche
* 1 Ersatzakku
* 1 Mp3-Player
* Radio
* 1 Höpfhörer
* 1 Handy
* 2. Handyakku
* 1 Handyladegerät
* 1 Zeitschrift

* Radio (oder im Handy)

Orientierung:
* Radkarten
* Streckenplanung mit Sehenswürdigkeiten
* Entfernungsmesser
* Radtacho

Werkzeug:
* Minibesteck
* Imbusschlüssel
* Schlauch
* Schlauchheber
* Taschenmesser
* Fahrradschloß+Schlüssel
* 1 Schaltseil
* 1 Bremsseil
* Flickzeug
* Sprühreparatur
* Luftpumpe
* Putzlappen
* Kettenfett

Waschzeug:
* Doppeldusch
* Zahnbürste
* Zahnpasta
* Rasierer
* Rasierschaum
* Deo
* Handtuch
* Nagelschere
* Creme

Verpflegung:
* 2x Trinkflasche
* Vitamintabletten
* Müsliriegel

Sonstiges:
* Stift
* Kalender
* Brustbeutel
* Jugendherbergskarte
* EC-Karte
* Krankenkassenkarte
* Personalausweis/Reisepass
* Sonnenschutzspray
* Satteldecke
* Vorhängeschloss

Reiseapotheke:
* Pflaster
* Schmerztabletten
Zelten
* Zelt
* Isomatte oder Luftmatratze
* Schlafsack
* Klammern
Verpflegung
* Kocher
* Gaskartusche
* Topf
* Teller
* Becher
* Besteck
* Feuerzeug
* Lappen

Windows XP Theme ändern

Auch ohne Zusatzsoftware ist es möglich Windows ein neues Kleid anziehen. Mit einem kleinen Trick lassen sich vorhandene Skins in XP einbinden:

UxTheme-Patch: Unverzichtbarer Patch, wenn Sie selber Windows-Themes entwerfen wollen. Schritt 1: Theme-Sperre aufheben Microsoft hat beschlossen, grundsätzlich keine fremden Skins zuzulassen und prüft deshalb auf eine Signatur. Der UxTheme-Patch schafft Abhilfe. Gehen Sie so vor: Kopieren Sie die Datei Uxtheme.dll aus dem Patch in das Verzeichnis »c:\windows\ system32\dllcache«. Benennen Sie nun die Datei »c:\windows\system32\uxtheme.dll« in »c:\windows\system 32\uxtheme.old« um. Kopieren Sie dann die Datei Uxtheme. dll aus dem Patch in den Ordner »c:\windows\system32« – fertig.

Schritt 2: Skins in XP einbinden Laden Sie sich aus dem Internet ein beliebiges Theme herunter. Eine Liste von ausgesuchten Webseiten finden Sie unter Schritt 3. Entpacken Sie das Skin und klicken Sie mit der rechten Maustaste auf eine freie Stelle auf dem Desktop. Wählen Sie nun »Eigenschaften« aus dem Kontextmenü aus. Im Reiter »Designs« selektieren Sie unter »Design« den Punkt »Durchsuchen«. Gehen Sie hier zu dem Speicherort der Theme-Datei und wählen Sie diese aus. Klicken Sie dann auf »OK«.

Schritt 3: Gute Links www.themexp.org www.deviantart.com www.themedoctor.com www.wincustomize.com www.xp-styles.com