Friday, 20 January 2012

Keine Ausgabe in der Eclipse Console für printf

Windows 7 SP1
Eclipse IDE for C/C++ Developers Version: Indigo Service Release 1

Verwendet man unter Windows printf in seinem C Programm und erwartet sich beim Ausführen eine Ausgabe auf der Eclipseconsole muß darauf warten bis das Programm beendet ist. Sind noch einige scanf drinnen muß man die Daten "blind" eingeben.

Dieses Verhalten ist dem Windowseclipse geschuldet, Einstellungen wie man dieses Verhalten direkt in Eclipse verändern kann habe ich leider keine gefunden.

Allerdings 2 Wege wie man die Ausgabe trotzdem bekommt.
(Da in der Codedarstellung die spitzen Klammern Probleme machen habe ich in den Codebeispielen das include von stdio.h weggelassen.)

1. fflush(stdout) nach printf();


main(){
 int wahl;
 float betrag;
 printf("\n\tE U R O R E C H N E R\n");
 printf("\n1 DM --> EURO\n2 EURO --> DM");
 printf("\n\nIhre Wahl: ");
 fflush(stdout);
 scanf("%i", &wahl);
 if(wahl == 1){
  printf("Bitte DM-BEtrag eingeben: ");
  fflush(stdout);
  scanf("%f", &betrag);
  printf("\n%.2f DM sind %.2f EURO", betrag, betrag * 0.51129);
 }
 if (wahl == 2){
  printf("Bitte EURO-Betrag eingeben: ");
  fflush(stdout);
  scanf("%f", &betrag);
  printf("\n%.2f EURO sind %.2f DM", betrag, betrag * 1.95583);
 }
}



2. setvbuf in der main methode


main(){
 setvbuf(stdout, NULL, _IONBF, 0);
 setvbuf(stderr, NULL, _IONBF, 0);
 int wahl;
 float betrag;
 printf("\n\tE U R O R E C H N E R\n");
 printf("\n1 DM --> EURO\n2 EURO --> DM");
 printf("\n\nIhre Wahl: ");
 scanf("%i", &wahl);
 if(wahl == 1){
  printf("Bitte DM-BEtrag eingeben: ");
  scanf("%f", &betrag);
  printf("\n%.2f DM sind %.2f EURO", betrag, betrag * 0.51129);
 }
 if (wahl == 2){
  printf("Bitte EURO-Betrag eingeben: ");
  scanf("%f", &betrag);
  printf("\n%.2f EURO sind %.2f DM", betrag, betrag * 1.95583);
 }
}

Links:
Eclipse Forum Eintrag

Saturday, 7 January 2012

C Compiler für Eclipse auf Windows

Windows 7 SP1 32 Bit
Eclipse IDE for C/C++ Developers Indigo Service Release 1
MinGW 20111118

Da Eclipse keinen C Compiler mitliefert muß man diesen selbst installieren. Nachdem mehrere Versuche cygwin zur Zusammenarbeit zu bewegen gescheitert sind bin, versuchte ich es mit MinGW, und siehe da, einfach den Installer ausführen und schon steht einem in Eclipse die entspreche Toolchain zur Verfügung, das Zeug compiliert einwandfrei und auch der Debugger haut hin.

Hier der direkte Link zur letzten Version des Installers: MinGW Installer

Links:
Blogeintrag zu MinGW
MinGW Homepage
Einführung ins Debuggen (pdf)

Wednesday, 4 January 2012

Java Installation Error 1723 (missing DLL)

Windows 7 (Servicepack 1) 32 Bit

Aus irgendeinem Grund ließ sich auf meinem System kein Java mehr installieren und eine alte Version nicht deinstallieren, jeder Versuch endete mit dieser Meldung:



Zahlreiche Foreneinträge sahen das Problem bei einem korrupten Windows Installer und rieten in diesem Fall zu Registry Manipulationen mit Tools oder per Hand zu Fuß, mir war das alles ein bisschen zu vage, neu aufsetzten kommt nicht in Frage, darum ganz Old Style: Java Folder von einem System wo alles klappt rüberkopiert und den bin-Ordner in den Systempfad gelegt.

Der schnellste Weg auf der graphischen Oberfläche die Path Variable zu verändern:

Windows + Pause
-> Erweiterte Systemeinstellungen
-> Umgebungsvariablen
-> in Systemvariablen die Varialbe Path bearbeiten

Nachtrag:
Nachdem diese Lösung aber nicht dazu taugt die Java-Plugins in die verschiedenen Browser reinzubekommen mußte ich wohl oder übel das 1723er Problem an der Wurzel erledigen.

Nach einigen Stunden verschiedenster Versuche funktionierte das Löschen der Java-Installations-Reste (die Ursache des Problems) mit dem Tool Revo Uninstaller Pro (eine 30 Tage Trail Version). Dort einfach nach Java suchen und alle relevanten Einträge ausmerzen, bei mir waren erst beim zweiten Durchgang wirklich alle weg, dann funktionierte die Neuinstallation von Java wieder einwandfrei.

Link:
Wikipediaeintrag zu Umgebungsvarialbe

Wednesday, 30 November 2011

RAD Update auf 8.0.4

Seinen RAD von 8.0.3 auf 8.0.4 upzudaten kann eine Herausforderung sein, aber bei diesem Produkt ist man ja eigentlich Kummer gewohnt.
Mein erstes Problem war folgende Fehlermeldung:

Eclipse p2 reconciler returned with error status=13

Die zugehörige IBM-Hilfeseite  empfahl den Installation Manager so zu starten:

IBMIM.exe -vmargs -Dcic.doNotReconcile=true

Leider führte das nicht zum erwarteten Erfolg, erst ein Rollback auf 8.0.1 und ein dann ein Upgrade auf 8.0.4 brachte endlich Erfolg, allerdings mußte man den Installation Manager mit den zusätzlichen Parametern starten, sonst gab es immer den  den Error Status 13.

Sieht man sich dann die Version an zeigt er zwar immer noch 8.0.1, aber die Build ID weißt zumindest auf 8.0.4 hin:








Wednesday, 9 November 2011

Thinkpad T61 - fan error

Wenn beim Hochstarten die Fehlermeldung "fan error" kommt und dann nichts mehr geht (außer die Meldung mit Esc zu ignorieren) stimmt wahrscheinlich mit dem Lüfter etwas nicht.

Hilft sicher nicht immer, aber bei mir hats geklappt das Teil aufzuschrauben und mit dem Staubsauger mal den Lüfter bearbeiten.

Dazu muß man die Frontplastik und das Keyboard entfernen, damit man auch die richtigen Schrauben erwischt gibts hier das Hardware Maintenance Manual von Lenovo.
Die Schrauben für die Frontplastik (Palm rest) sind auf Seite 66 angegeben, für die Tasten ist Seite 70 ein guter Tip.