3. April 2012

6 Varianten Java-Programme zu starten - jar, bat, exe, CD

Wieder mal  ein wenig Java :)

Für alle, die sich bereits gefragt haben, "Wie startet man eigentlich ein Java Programm?" hier die Lösung
(gefunden auf java-forum.org), eine ausführliche Zusammenstellung:

1. Ein JAVA-Archiv, so genannte "JAR-Dateien".

Generell sind alle derzeit erhältlichen großen IDEs wie bspw. EclipseNetBeansJDeveloper etc. bereits mit einer Funktion zum komfortablen erzeugen einer Jar-Datei aus Quellcode ausgestattet.
Auch einige Java-Editoren bieten diese Funktion an. Darunter bspw. der Java Editor und der JCreator.

Natürlich kann man auch Jar-Dateien manuell erzeugen oder dafür ein Skript einspannen.

Um eine ausführbare Jar-Datei erzeugen zu können, muss in dem .jar-Archive eine Manifest-Datei enthalten sein (unter META-INF/MANIFEST.MF), aus der hervorgeht, welche Klasse die main-Methode enthält. Sie kann z.B. so aussehen: 

Zitat:
Manifest-Version: 1.0
Main-Class: MyProgr
//LEERZEILE NICHT VERGESSEN, SONST GEHTS NICHT!!
Das .jar-Archive kann z.B. mit folgendem Kommando erstellt werden: 
jar cfm MyProgr.jar MyProgr.mf *.class *.jpg *.au.

Dazu gibts hier eine etwas ausführlichere Beschreibung und ein kleines Batch-Tool.

PRO 
Diese Dateien sind in jedem Falle von jedem Betreibssystem ausführbar, somit bleiben die erstellten JAVA-Programme plattformunabhängig! 

CONTRA 
Man sollte beachten, dass man als unerfahrender Benutzer die JAR-Dateien nicht mit Programmen wie WinRar verknüpft, denn sonst kann man die Programme (JAR-Dateien) nicht mehr beim anklicken starten! Sollte man man die JAR-Datei trotzdem ausversehen mit einem Packer verknüpft haben, dann kann man JAR-Dateien (bei Windows) nur noch mittels BAT-Datei oder über START->Ausführen und dann mit "javaw -jar meine_jar_datei.jar" starten. Wem das zu umständlich ist, der muss einen Schlüssel in der Registry setzen! 
Für erfahrene Leute, die wissen wie man mit der Registry unter Windows umgeht: 
Man muss einen Schlüssel mit einem Binärwert unter "HKEY_CLASSET_ROOT" -> "Applications" -> "javaw.exe" -> "shell" -> "open" -> "command" eintragen mit dem Wert (Anführungszeichen mit eintragen!!!): "C:\Programme\Java\jre1.5.0_01\bin\javaw.exe" -jar "%1" %* 
(Der Pfad der JRE ist natürlich bei jedem variabel, dies ist nur der Standardpfad!) 

Man kann natürlich auch einfach in den Einstellungen von WinRAR unter "Integration" den Haken bei .jar Dateien entfernen, oder die .jar-Datei per rechte Maustaste -> ßffnen mit -> Java öffnen. (Edit by Illuvatar)

-------------------- 

2. Eine Batch-Datei (kurz .bat)

Dabei erstellt man mit dem Compiler nur die Class-Dateien. Beim klicken auf die BAT-Datei startet dann dementsprechend das eigene Programm.
Wichtig: Damit das funktioniert, muss dem System der Pfad zum JRE bekannt sein und die Bat-Datei muss im Verzeichnis der Class-Dateien liegen.

PRO 
Hier ist eigentlich kein großeres PRO zu bennenen, außer dass man sein Programm jetzt mittels BAT-Datei (Stapelverarbeitungsdatei) startet. Das geht auf der Console durch Aufruf der Batchdatei oder auch per Doppelklick auf die Datei.

CONTRA 
Batch-Dateien lassen sich nur von Windows aus ausführen! Außerdem kommt das mit den Bat-Dateien langsam aus der Mode, unter anderem, weil Jar-Dateien wesentlich flexibler sind.
Wenn man mal ein aktuelleres JRE installiert, funktioniert unsere Bat-Datei erst nach anpassen des Pfades zum JRE wieder.

Zitat: noctaru
Für Linux:

Code:
#!/bin/sh 
java mein_javaprogramm
Code:
chmod +x 
Pro:
Wenn man die Datei mit vollem Pfad angibt und in das /usr/local/bin verzeichnis kopiert kann man die Datei einfach nur mit dem Dateinamen(meinProgramm) aufrufen aber sonst gibt es da auch kein großartiges Pro.

Contra:
Das geht dann halt nur unter Linux. Aber wenn man dazu noch eine Batchdatei legt, hat man schon zwei Platformen abgedeckt.
Danke an noctaru!

Für Windows sieht das folgendermaßen aus:
Code:
rem * Pfad zur JRE einstellen (Bitte anpassen!)
set path=.;C:\Programme\Java\jre1.6.0\bin

rem * Starten einer Java-Klasse Bsp. MeinProgramm.class
java MeinProgramm

rem * ODER: Starten eines Programms aus einem Jar-Archiv mit Konsolenausgabe
java -jar MeinProgramm.jar

rem * ODER: Starten eines Programms aus einem Jar-Archiv ohne Konsolenausgabe
rem javaw -jar MeinProgramm.jar
-------------------- 

3. Programme die aus dem Bytecode Maschienencode erstellen

Dieser Maschienencode ist dann in so "EXE-Dateien" oder "DLL-Dateien" abgespeichert. Programme, die das können nennt man "NATIVE-CODE-COMPILER"! 

Ein Programm was sowas kann heißt: 
Excelsior JET (leider als Download nur als TRIAL-VERSION erhältlich!) 

PRO 
Wie gesagt es handelt sich nach der Compilierung um eine echte EXE-Datei.
Es kompiliert neben deinem eigenen Programm auch noch die gesamte JRE und erzeugt daraus eine binäre Datei. 

CONTRA 
Aus meiner Erfahrung her, kann ich nur sagen : "Leute lasst die Finger von sowas!". Hier die Begründung: Die Installation von Programmen wie Excelsior JET dauert bei einem 2GHz PC um die 2 Stunden, weil zunächst das JRE kompiliert wird. Die Bedienung ist meist leicht. Die Programme sind nur dann auf anderen Computern ausführbar, wenn alle Runtimes von dem entsprechenden Native-Compiler auf dem anderen PC sind (so um die 25 MB), zu den 25 MB kommt dann nochmal die gesamte JRE dazu (die als Bundle mitgeliefert wird). Das sind dann nochmal je nach JAVA-Version so um die 70 MB. Dann hat man vielleicht ein selbst geschriebenes Programm mit 200KB und 95MB Runtimes! Das lohnt sich wirklich nicht! Die Plattformunabhängigkeit geht dadurch auch verloren. Oftmals unterstützen Native Code Compiler auch nicht aktuelle JDKs.


3.1: Programme, die aus dem Quellcode Maschinencode erstellen (sog. ahead-of-time compiler)

Es gibt auch noch eine etwas einfachere Möglichkeit:
Am ehesten findet man da den GCJ, den Java Compiler aus der GNU Compiler Collection. Mit diesem ist es relativ problemlos möglich Java-Quellcode zu Maschinencode zu kompilieren:
Code:
gcj --main=Foo -o Foo Foo.java
Mit --main wird die Klasse mit der main Methode spezifiziert, -o gibt den gewünschten Namen der kompilierten Datei an. Ob das unter Windows so ohne weiteres funktioniert weiß ich leider nicht, ich selber benutze linux.

PRO:
Es wird eine JRE-Unabhängige, ausführbare (unter Windows .exe) Datei erzeugt.

CONTRA;
Die Datei ist nicht mehr Plattform unabhängig und GJC unterstützt Teile der Java Bibliotheken noch nicht (nach eigener Angabe).

Möglichkeit 3.1 wurde vogeschlagen von cui23

-------------------- 

4. Programme, die den JAVA-Quellcode in C++-Quellcode umwandeln

Mit einem C++ Compiler kann man dann den C++-Quelltext zu einer EXE-Datei (Maschienencode) compilieren. Diese Variante ist also eine Art Übersetzer von Java zu C++. 

Ein Programm was das kann heißt: 
Ja2dol (Freeware, OpenSource-Projekt) bzw. das Nachfolge-Projekt Java2CPP

PRO 
Man erhält eine lauffähige EXE-Datei, und man braucht so gut wie keine Runtime Bibliotheken. Desweiteren erhält man den in C++-Quellcode umgeformten Code des Java-Programms.

CONTRA 
Wie das so mit Übersetzungstools ist, stimmt die Grammatik hinterher nicht unbedingt 100%. Das wird vor allem bei größeren Programmen sichtbar und es kommt zu Fehlern. Man sollte also auch ein wenig C++-Kentnisse haben um die Übersetzungsfehler korrigieren zu können. Die Übersetzung von "Ja2doll" ist aber schon recht akzeptabel. Die Plattformunabhängigkeit geht bei EXE-Dateien verloren.

FAZIT
Auf Grund der höhen Fehlerdichte nicht zu empfehlen für die produktive Umgebung.

----------------------- 

5. Programme, die EXE-Dateien zum Starten von JAVA-Anwendungen erstellen
Dabei wird der Bytecode von einer EXE-Datei gestartet. Man hat dann neben der Jar-Datei, die die Klassen des Programms enthält, eine EXE-Datei, die das Java-Programm letztendlich startet. Man braucht also auf jeden Fall trotzdem eine JVM um die benötigten Klassen für das Java-Programm bereitzustellen. 
Vertreter sind zum Beispiel JEStart von Xenoage oder Launch4J.

PRO
Per Klick auf die EXE-Datei startet das Programm, wobei das Programm (EXE-Datei) sehr klein bleibt. 
Meist kann man ein Icon für die Exe-Datei festlegen.

CONTRA 
Man braucht, wie oben beschrieben, eine JVM (sollte aber in der heutigen Zeit schon auf fast jedem PC drauf sein). Die Exe-Datei startet u.U. nur auf einem Windows-System. Linux-Benutzer brauchen dann wieder eine ausführbare Jar-Datei oder eine Shell-Datei zum Start.


Herzlichen Dank an Iome für den Beitrag.


Noch eine Amerkung von Ikaragua:

Zitat: Ikaragua
Anmerkungen zum 3. Unterpunkt des Java FAQs "6 Möglichkeiten Java-Programme zu starten - .jar, .bat, .exe erstellen, von CD starten"

Zunächst einmal ist es sehr einfach ausgedrückt, zu behaupten, "EXE-Dateien" sowie "DLL-Dateien" seien allgemein "Maschinencode". Das ist zwar für sich betrachtet nicht falsch, jedoch gibt es weitere Fälle bei denen der Begriff "Maschinencode" Anwendung findet, und somit nicht hierauf beschränkt genannt werden sollte.

(Mir) Bekannte Native-Compiler sind der bereits genannte Excelsior JET für Windows- und Linux-Systeme sowie der GNU Compiler for Java (GCJ) der GNU Compiler Collection. Ersterer ist in der Tat kostenpflichtig und bereits in Demo-Version vollstens einsetzbar. Zweiterer ist wie vom GNU-Projekt bekannt vollständig frei und kostenlos verfügbar und auf verschiedene Systeme portiert.

Allgemeine Vor- und Nachteile eines Native-Code-Programms:
+ Da Maschinencode, schnelle(re) Ausführung des Programms
+ keine "Mogelpackung" (s.u.)
- Verlust der Plattformunabhänigkeit

(Anm. zu 2. '+': Einigen Programmieren (auch Nutzer) behagt der Gedanke nicht, ein Programm auszuliefern, dass im eigentlichen Sinne keines ist [sondern eben Bytecode, also gewissermaßen ein eigenes computerähnliches System braucht, um ausgeführt zu werden].)

Excelsior JET
In der Tat ist es so, dass dem von Excelsior JET kompilierten Programm/Programmbibliothek, sollte es auf einen anderen Rechner portiert werden, (ausschließlich!) die Laufzeit-Bibliotheken (die das Programm benötigt) beigefügt werden müssen (oder es ist eine JET Installation auf dem Rechner vorhanden), um es letztendlich ausführen zu können. Tatsächlich beginnt deren Größe mit 50 MiB und steigt abhängig von den benutzten Klassen, wobei anzumerken ist, dass meine Programm-Laufzeit-Bibliotheken niemals 60 MiB überschritten haben. Es ist durchaus ein gewaltiger psychologischer Anstieg von einem 50-200 KiB großem Programm zu etwa 60 MiB Laufzeit, allerdings ist dem im Zeitalter von DSL und Terabyte-Festplatten keine allzu große Bedeutung zuzusprechen. Darüber hinaus sind die angesetzten 2 Stunden der Installation bei Weitem zu hoch. 5 Minuten maximal sind erforderlich.

Wie schon genannt ist die Benutzerführung, wenn auch vom üblichen Windows-Bild abweichend, und Funktion ansprechend bzw. umfassend, was das Programm selbst gut verwendbar machen lässt, zudem kann sich das Ergebnis mehr als sehen lassen.

Programmeinschränkungen gegenüber der Vollversion:
Die einzigen Beschränkungen, die der "JET" hat, sind die ausgewählte Verwendbarkeitsdauer (30 Tage ohne Registrierung / 90 Tage mit) und ein kleines Hinweisfenster nach Beenden des kompilierten Programms. Andernfalls sind die Programme jederzeit einsetzbar.

GNU Compiler for Java (GCJ)
Zu diesem kann ich eigentlich nicht sonderlich viel sagen, da er (MinGW Windows Portierung) meine (syntaktisch korrekten) Programme bislang nicht kompilieren konnte, und ich ihn aufgrund dessen meide.

Fazit: Der "JET" ist in jedem Fall einen Blick wert. Wer sich des GCJ annehmen möchte, der möge das tun, sollte aber keine allzu große Benutzerfreundlichkeit erwarten.
Ein ähnliches Konzept verfolgt das Tool Bat To Exe Converter. Allerdings wird hier eine Batchdatei in eine Exe-Datei verwandelt. Das heißt, man schreibt die Startbefehle für das Java-Programm in eine Batchdatei, aus welcher dann von Bat To Exe Converter eine Exe-Datei inkl. benutzerdefiniertem Icon erzeugt wird.

6. Möglichkeit - Das Java-Programm auf dem Zielrechner direkt von einer CD oder einem USB-Stick starten

Du hast ein Java-Programm, welches du gerne deinen Kunden, Freunden oder Bekannten vorstellen möchtest, weißt aber nicht, ob eine und welche JRE-Version auf deren Rechner installiert ist?

Dann kann dir diese Anleitung dabei helfen, eine CD zu erzeugen, die nach dem Einlegen ins CD-Laufwerk automatisch auf einem Windows-System dein Java-Programm startet. Das Interessante daran: Der Zielrechner braucht nicht mal eine JRE installiert zu haben, denn die brennen wir gleich mit auf die CD.

Hinweis: Ab Java 6 wird Windows 98 und Windows ME nicht mehr unterstützt, es müsste in diesem Fall also eine ältere JRE benutzt werden.

Schritt 1
Du erstellst dir auf deiner Festplatte ein temporäres Verzeichnis, in welches du zunächst dein JRE-Verzeichnis, welches durch die Installation des JREs auf deiner Festplatte angelegt wurde, hineinkopierst. Dann erstellst du in diesem temporären Verzeichnis eine Datei namens autorun.inf mit folgendem Inhalt:
Code:
[autorun]
open=autostart.bat
icon=icon.ico
Das optionale Icon muss hier im Verzeichnis liegen, wo auch die autorun.inf zu finden ist (Rootverzeichnis) und wird angezeigt, sobald die CD vom Laufwerk eingelesen wird. 


Schritt 2
Außerdem brauchst du noch eine Batchdatei, die dein Programm startet. Am besten, du nennst sie autostart.bat.
Mit einem Texteditor erzeugst du dazu eine ganz normale Textdatei und kopierst nachfolgenen Batch-Text hinein.
Code:
@echo off 

rem Bitte den Pfad zur JRE anpassen! 
set CDJRE=.\java_vm\jre1.6.0\bin 

rem Start einer jar-Datei 
start %CDJRE%\javaw.exe -jar DeinJar.jar 

rem Start einer class-Datei 
rem start %CDJRE%\javaw.exe DeinProgramm 

rem Umgebungsvariable wieder löschen 
set CDJRE= 

rem Console schließen 
exit
(Die Datei entstand in Zusammenarbeit mit Illuvatar.)

Passe den Batch-Text an den ausgewiesenen Stellen an deine Gegebenheiten an und speichere die Datei nun unter dem Namen autostart.bat ab oder benenne die Datei entsprechend um.
Diese Batchdatei legst du zum Icon und der autorun.inf.


Schritt 3
Kopiere nun noch dein Programm, welches vorzugsweise eine jar-Datei sein sollte, hinzu. (Ein kleines Tool zum Erstellen ausführbarer Jar-Dateien findest du hier)
Es kann aber auch eine normale .class-Datei sein, es muss dann entsprechend die Zeile 7 der Batchdatei auskommentiert und Zeile 10 durch entfernen des remark (rem) aktiviert werden.
Auch Packages sind möglich, dementsprechend ist u.U. nur die Batchdatei anzupassen.


Schritt 4
Zur Kontrolle: Deine Verzeichnisstruktur sollte jetzt folgendermaßen aussehen:
Code:
[.] 
|  icon.ico 
|  autorun.bat 
|  autorun.inf 
|  DeinProgramm.jar 
| 
|__[java_vm] 
       | 
       |__[jre1.6.0] 
             | 
             |__[bin] 
             | 
             |__[lib]

Schritt 5
Das Ganze brennst du nun mit einem Brennprogramm deiner Wahl als Daten-CD.

Auch zu lesen im Wiki auf Byte-Welt.de. 


Weiterführende Links

27. März 2012

Windows XP Theme (Luna) unter Windows Server 2003

Das ich vor kurzem auf Kundenwunsch ein (ungefährer Wortlaut) "Windows Server 2003 System so ausschauen wie XP" lassen sollte, habe ich mich ein wenig umgehört (sprich "gegoogelt")

Da ich direkt auf einen wundervollen (sogar mit Bildern <3) Post gestoßen bin der 1 : 1 darstellt was zu tun ist,
werde ich diesen hier direkt ohne Umwege posten:


Enabling the Luna (Windows XP) theme on Windows Server 2003
Preface:
Enabling themes is an unsupported and not recommended thing to do in Windows Server 2003 and CAN CAUSE INSTABILITY!!
The method:
First, click Start, highlight Administrative Tools, then click Services.  (Also, remember how this Start Menu looks because it will be the last time you see it like this unless you go back to the Windows Standard theme :-)
 
Scroll down to "Themes" and double-click it, set the start-up type to Automatic, Apply, and then Click "Start" (Start will only become enabled after you set the Start-up to Automatic and !click Apply! [or manual, but you don't want that]) And press OK to leave the window
Now right-click your desktop, and click Properties
Under theme click Windows XP, then click Apply, and congratulations, you've enabled Luna
You may also want to refer to the Direct X how-to page for instructions on speeding up graphics, etc
Copyright ©2002-2011 Jonathan Maltz.  For trademark/copyright information, click here.  About me.  Main page.  Contact me.


Alsdann,
sogar inklusive Weiterleitung, Impressum und Original Autor ^^

. the incredible Leitman

26. März 2012

How to develop for Android - Wie entwickelt man in Android

Sooo, lange geplant, nun endlich die Zeit gefunden :)

Wer schon immer daran gedacht hat, dass die Spate App-Entwicklung für mobile Geräte grade der Renner ist und einsteigen wollte, stößt schnell auf einige Hürden.
Darum, hier folgend mein erster Post,

Wie setzt man sich eine Entwicklungsumgebung für Android auf


1) IDE
Da Android auf Java basiert, macht natürlich Eclipse Sinn, die meiner Meinung nach beste IDE was Java angeht.
Bekommen kann man die zum Zeitpunkt des Schreibens aktuelle Version "Indigo" hier.
(Für mehr Informationen zu den unterschiedlichen Versionen schaut auf meinen vorigen Post "C Projekte entwickeln in Eclipse")


2) JDK
Anschließend benötigt man das JDK von Oracle (Java SE Development Kit),
eine einfache Java Runtime wie se auf den meisten Rechner installiert ist, reicht nicht aus.


3) Android SDK
Nun könnt ihr das eigentliche Android SDK herunterladen und installieren (link).
Beim Start überprüft der Installer, ob ein JDK installiert ist.
Es kann vorkommen, dass dies jedoch nicht gleich richtig erkannt wird,
sollte das der Fall sein (ist bei mir aufgetreten) könnt ihr im Installer einfach einen Schritt zurück gehen und anschließend weiter fortfahren.
Falls es dann immer noch nicht funktioniert, geht nochmal zurück zum Start Punkt 2 und überprüft ob ihr wirklich das Java Development Kit installiert habt.


4) Anpassungen
Damit hätte ihr einmal alles, was ein zukünftiger Android Entwickler so benötigt ^.^
Es wird empfohlen, das eben in Schritt 3 installierte Android SDK zu starten auf verfügbare Updates herunter zu laden oder weitere tools oder Treiber zu installieren.

Ebenso ratsam ist das Eclipse Plugin ADT zu installieren. Hier steht genau beschrieben, wie ihr das bekommt und installiert.

Wem ich hier zu wenige Informationen gepostet habe,
der kann sich gerne auf dem Wiki von Cyanogen mod oder android-hilfe.de mehr Anweisungen holen.


Ansonsten, viel Erfolg und vor allem Spaß am Entwickeln,#
lasst mich in den Kommentaren von euren Erfolgen lesen
- the incredible Leitman

23. März 2012

C++ Projekte entwickeln in Eclipse

Eclipse ist wahrlich eine tolle IDE <3

Bisher habe ich mit Microsoft Visual Studio 2005 .net Projekte entwickelt (VC++).
Doch im Laufe des letzten großen Projektes musste ich auch Kleinigkeiten in Java erledigen... dafür hat sich Eclipse dann einfach angeboten ^^

Nachdem ich nun beide Lager kennengelernt habe, ist es mir möglich, einen ersten Vergleich zu ziehen ^^
UPDATE: den ich aber an einer anderen Stelle ausführlicher beschreiben werde ;)

Hier werde ich kurz die einzelnen Schritte beschreiben,
welche notwendig sind um eine Karriere als erfolgreicher C/C++ Entwickler unter Eclipse zu starten :D


- download der IDE
Klar, ohne Eclipse, keine Entwicklungsumgebung :p
Zum Zeitpunkt dieses Posts ist Eclipse in der neuesten Version "Indigo" verfügbar und kostenlos herunter zu laden unter http://www.eclipse.org/downloads/.
Um sich den nächsten Schritt zu ersparen, kann man sich direkt die Version "Eclipse IDE for C/C++ Developers (includes Incubating components)" herunterladen und installieren, welche anscheinend bereits alle benötigten Plugins erhält. (Hab ich leider nicht versucht, da ich bereits ein Eclipse auf meinem Entwicklungsrechner installiert hatte)

[Anmerkung: Auf der Website von Eclipse findet ihr alle möglichen Versionen... ziemlich unübersichtlich, gerade als Anfänger wie ich finde. Leider kann ich euch nicht sagen, wodurch genau sich diese unterscheiden bzw. welche für euch am Besten geeignet sind. Prinzipiell würde ich zur "Classic Edition" tendieren, schlimmstenfalls können bei Bedarf soweit ich weiß alle gewünschten Features nachgeladen werden.
Oder, ihr geht gleich aufs Ganze und installiert euch die Enterprise Edition ("Eclipse IDE for Java EE Developers") die zusätzliche Möglichkeiten vor allem für die Webentwicklung bietet.]

Falls ihr euch für die "normal" Version entschieden habt, folg nun der nächste Punkt
- Installieren von CDT, dem C/C++ Plugin
Dies erhaltet ihr ebenso unter der Eclipse website. Entweder, ihr ladet es euch als .zip file herunter und installiert es manuell (geeignet, falls man es auf mehreren Rechnern/IDE's installieren möchte
oder ihr installiert es direkt über Eclipse:
Geht dazu im Eclipse in das Menü "Help -> Install new software..."
Im aufscheinenden Dialog klickt ihr auf "Add..." und tragt als Name z.B. "CDT Plugin" ein, für die Location wählt ihr "http://download.eclipse.org/tools/cdt/releases/indigo" (Bei installierter Indigo Version, für andere schaut bitte direkt auf der Seite von CDT nach)
Anschließend werde ihr gebeten Euer Eclipse neu zu starten, eventuell nach Updates zu suchen ("Help -> Check for updates") und gegebenenfalls nochmal neu zu starten.

Glückwunsch, ihr habt soeben eine vollständige, kostenfreie Entwicklungsumgebung für C/C++ erhalten ^^
Damit wär das Ganze bereits erledigt, die Entwicklung kann beginnen :)



- Appendix - Weitere Informationen:
Ich habe bei meiner Recherche eine tolle Seite gefunden, die einiges an Informationen zur C++ Entwicklung in Eclipse liefert: http://drdobbs.com/article/print?articleId=232300575&siteSectionName=
Dort erfahrt ihr unter anderem, wie ihr eine toolchain anlegt und verwendet,
der Vorgang unter Linux aussieht und vieles mehr.

Für eventuell auftretende Probleme werde ich hoffentlich in Zukunft einen eigenen Post erstellen,
da dieser bereits wieder ziemlich lang geworden ist :-o

Also dann, bist zum nächsten Mal,
- the incredible Leitman

22. März 2012

How to install RTC 3.0.1 Plugin for Eclipse 3.7 (Indigo)

Da ich nun wieder in Eclipse C/C++ entwickeln werde,
(Wie man Eclipse - c++ fähig macht habe ich bereits hier beschrieben)
jedoch gerne den Visual Studio Compiler verwenden würde,
habe ich mich dazu entschieden auf das neue Eclipse 3.7, codename Indigo umzusteigen,
da dieses angeblich Verbesserungen in der toolchain sowie eine vereinfachte Konfiguration ermöglicht.

Firmenintern verwenden wir Rational Team Concert von IBM, was sich gleich super ins Eclipse integrieren lässt.
Jedoch unterstützt IBM/Jazz offiziell die neue Eclipse Version erst ab der kommenden Version.

Nun habe ich aber im Forum von Jazz gelesen, dass es einfach möglich ist, das selbe Plugin zu installieren,
was ich nun auch getan habe... mit Erfolg :)

Eine gute Anleitung dafür gibt es im Jazz Wiki, in der alles Schritt für Schritt beschrieben ist.
Ich weiß aber nicht, ob die Schritte alle notwendig sind, wie es dort beschrieben wird,
angeblich kann man direkt im Eclipse über "Help -> Install new software..." den p2 Client installieren,
nachdem man ihn hier runtergeladen hat. (Quelle - Jazz Forum).


Vielleicht noch ein kleiner Hinweis, wie allgemein das installieren von Eclipse updates/Plugins/etc... vonstatten geht, bzw. wovon es abhängt findet ihr hier auf stackoverflow.


Das Ganze ging eigentlich recht flott und absolut fehlerlos von der Hand,
ich bin erstaunt und weitreichend begeistert :D
Hätte mit mehr Problemen oder Schwierigkeiten gerechnet ^^

- the incredible Leitman,
return 0

14. März 2012

Get Unity Mobile Basic for free - limited time offer

Weil ich es eben grade per newsletter reinbekommen habe
und natürlich euch nicht vorenthalten möchte,
folgend ein einfaches copy-paste ^^


Dear Unity Developer,
Do you want more people to play your game? Ever wondered what it would look like on an iPhone or Tablet? Stop wondering and get publishing! Until April 8th, you can download Unity Mobile Basic add-on licenses for iOS or Android for free and save up to $800 USD.
Download now!
Take advantage of this great offer, and unleash your creativity to millions of players with a simple publishing solution for mobile platforms.
When you shine, we shine
Unity is created by game developers like you. We know creating a game can be a long and tough road. By making powerful Unity features and tools freely accessible to game developers everywhere, we want to continue to support ambitious and visionary talent – the very foundation of our industry. Test our Unity Mobile Basic add-on licenses for iOS or Android today and bring your amazing game to the world. The more people that play your game, the happier we are!
One engine reaches multiple platformsSeamless publishing work flow – your creativity is the only limit.
iOS
Find out for yourself why Unity is the #1 game development engine for iPhone and iPad.
Android
There are over 200 million Android devices currently activated out there. Get your game on them!
Step 1:
When your game is done, select "Build & Run" from the drop-down menu.
Step 2:
Choose your mobile platform and relax while your game automatically compiles, installs and launches.
Step 3:
Your game is ready. Go ahead and submit it to the App Store or Android Market.


mfg
- the incredible Leitman

1. März 2012

Textpassagen ohne Formatierung einfügen

wunderbar :)

Seitdem in Chrome Ctrl + Shift + C die Developertools sind und meine Chrome Extension ("Copy Plain Text") nicht mehr funktioniert, suche ich nach einer Möglichkeit Text unformatiert einfügen zu können (und nicht über den Umweg mit Textpad xD)

Die Suche hat nun ein Ende,
Chrome kann das (angeblich schon lange? o.O)
einfach beim einfügen über das Tastenkürzel: Ctrl + Shift + V (Beim Mac respektive Command-Shift-Option-V )

(gefunden im, wer hätte das gedacht, Chrome Blog ^^)

26. Februar 2012

Visual Studio Express Serials

Weil ich mir letztens auf allen drei Stand PC's zuhause, plus zwei Notebooks eine Visual C++ Express Version heruntergeladen und installiert habe (frei verfügbar!)
aber anschließend (nach Ablauf der [ich glaube] zweiwöchigen Testphase in der man die volle Version nutzen kann) nach einer Serial gefragt wurde,
musste sollte ich mich irgendwo anmelden, meine Daten bekannt geben um eine Seriennummer zu erhalten
um VS weiterhin nutzen zu können o.O

Ich weiß zwar nicht, warum M$ diesen Schritt fordert, sobald man VS startet,
jedoch ist es eigentlich nicht notwendig, seine Daten für eine freie IDE bekannt zu geben,
bloß um (die eh frei verfügbaren) Serials zu erhalten o.O


Jedenfalls, da ich mich nicht für fünf Rechner jeweils mit einem Microsoft Live Account anmelden / registrieren wollte habe ich mich auf die Suche nach den (frei verfügbaren) Seriennummern gemacht.

Folgend mein Ergebnis:


 Originally Posted by NextGen1 
VC2010 Express Key: 6VPJ7-H3CXH-HBTPT-X4T74-3YVY7
VC# 2010 Express: PQT8W-68YB2-MPY6C-9JV9X-42WJV
VC++ 2010 Express: 6VPJ7-H3CXH-HBTPT-X4T74-3YVY7
VWD 2010 Express: CY8XP-83P66-WCF9D-G3P42-K2VG3
VB.NET 2010 Express: 2KQT8-HV27P-GTTV9-2WBVV-M7X96



Damit konnte ich ohne Umwege von registrieren, anmelden, Mail bestätigen
einfach so die (sowieso immer dieselben) Keys eingeben und mein VS weiterhin nutzen.

Ich hoffe, jemandem damit weiterhelfen zu können,
in diesem Sinne

happy coding

- euer incredible Leitman

24. Januar 2012

Was ist eigentlich thunderbolt?

Weil ich heute zum ersten Mal gelesen habe,
dass man [quote]"das MacBook einfach über einen thunderbolt Anschluss anhängen sollte und es außerdem schneller als USB ist" [/quote],
dachte ich mir,
es ist an der Zeit herauszufinden, WAS das eigentlich ist ^^

Dabei bin ich auf einen wirklich guten Post von macnotes.de gestoßen, der Folgendes schreibt:
[copy-paste]

Thunderbolt: Was ist das eigentlich?

ThunderboltDer Name Thunderbolt tauchte in den vergangenen Tagen mit der Vorstellung der neuen MacBook Pros von Apple zum ersten Mal auf. Tatsächlich handelt es sich bei der neu vorgestellten Technologie um die von Intel unter dem Codenamen “Light Peak” entwickelte Universalschnittstelle. Doch was kann Thunderbolt wirklich, was wird es dem Normal-User bringen und wie funktioniert es?
Über Light Peak wurde schon im letzten Jahr viel spekuliert. Der Hintergrund aus der Mac-Perspektive war immer, dass Apple auf die Fertigstellung des neuen Standards wartet, um ihm den Vorzug vor dem in der Theorie deutlich langsameren USB 3.0 zu geben. Dessen Vorteile liegen dabei praktisch auf der Hand, denn die große Verbreitung von USB hätte einen Übergang dank der Abwärtskompatibilität erheblich vereinfacht.
Ebenso wie bei der Frage, ob Apple jemals noch Blu-ray-fähige Laufwerke in seine Computer verbauen wird, setzte sich die Sturheit am Ende durch: USB 3.0, bereits in Endgeräten verschiedener Hersteller zu finden und im Prinzip flächendeckend erhältlich, findet sich bis dato in keinem Mac – denn dort wird nun auf Thunderbolt gesetzt.
 

Warum der Name?

Wer in den vergangenen Tagen die neueste Light Peak-Videdemo von Intel angeschaut hat, wird bemerkt haben, dass die benutzen Stecker allesamt USB-Format haben oder diesem zumindest stark ähneln. In den neuen MacBook Pros von Apple wird allerdings ein Anschluss mit den exakt gleichen Abmessungen wie der Mini DisplayPort genutzt. Entsprechend handelt es sich hier um ein Apple-Branding, mit dem der Konzern aus Cupertino wahrscheinlich die Verbreitung der neuen Schnittstelle im eigenen Format vorantreiben möchte.
Der zweite Grund könnte die benutzte Art der Verbindung sein: Light Peak wurde von Intel in Kooperation mit Apple sowohl für die Verwendung optischer (Glasfaser) als auch elektronischer (Kupfer) Verbindungen entwickelt. Da die Herstellung von Kupferkabeln bislang noch erheblich preisgünstiger ist als optische Komponenten, setzen alle Hersteller, auch Apple, auf diese Variante. Außerdem ermöglicht die Kupferleitung gleichzeitig den Transport von Strom über dieselbe Leitung, was einen weiteren Vorteil ausmacht. Der Name “Light Peak” impliziert demgegenüber allerdings eine optische Funktionsweise, weswegen sich die findigen Marketingstrategen einen neuen Namen samt neuem Logo ausgedacht haben.
 

Was bringt Thunderbolt?

Der größte Vorteil der neuen Schnittstelle ist sicher ihre Fähigkeit, verschiedene Arten von Daten gleichzeitig zu übertragen. So kann nicht nur auf üblichem Wege der Mini DisplayPort genutzt werden, um einen kompatiblen Monitor anzuschließen, sondern auch externe Datenspeicher und Peripheriegeräte problemlos gleichzeitig über den einen Ausgang am Mac betrieben werden. Unterstützt werden Daten-, Video-, Audio-, Strom- und Netzwerkdaten. Die Geschwindigkeit beträgt in der Theorie 10 Gigabit pro Sekunde, was einer Verzwanzigfachung der Übertragungsrate von USB 2 entspricht. Selbst, wenn diese Maximalwerte nicht erreicht werden, dürfte sich die Nutzung für alle Beteiligten also lohnen.
Thunderbolt verfügt über zwei Kanäle, die gleichzeitig genutzt werden können. Dementsprechend sind beispielsweise das Kopieren einer größeren Datei wie eines HD-Films auf einen externen Speicher und eine Datensicherung in die andere Richtung ohne Geschwindigkeitsverlust gleichzeitig möglich. Außerdem kann währenddessen ein Mini-DisplayPort-fähiger Monitor genutzt werden, um zum Beispiel einen HD-Film zu schauen, während die Übertragung läuft.
Über Thunderbolt angeschlossene Geräte fungieren als eine Art Hub für weitere, von ihnen ausgehende, Verbindungen. So können also per USB oder FireWire mit einem via Thunderbolt verbundenen Gerät vom Mac aus ebenfalls genutzt werden. Festplatte, Docks etc., die Thunderbolt unterstützen, können in Reihe verbunden werden und ermöglichen somit die Nutzung einer breiten Anzahl von Geräten über einen einzigen Anschluss am Computer. Ist ein langsameres Gerät – zum Beispiel über USB 2.0 – dabei, funktionieren alle anderen, schnelleren Verbindungen ohne Leistungsverlust. Das ist ein weiterer Vorteil gegenüber bisher genutzten Technologien. Natürlich klappt das nur, wenn die Kette rein aus Thunderbolt-Verbindungen besteht, also die schwächeren Schnittstellen nur an den Zwischenstationen und nicht als ein Glied der Kette genutzt werden.
 

Gibt es auch Nachteile?

Wer jetzt zum nächsten Händler eilen möchte, um sich gleich eins der neuen Apple-Laptops zu sichern, sei zunächst zur Geduld angehalten: Noch gibt es so gut wie keine kompatiblen Geräte. Dies liegt daran, dass Apple mit der Technologie vorauseilen möchte und sie in dieser Form nunmal erst in dieser Woche vorgestellt hat. Das LaCie-Laufwerk aus dem Intel-Video ist ein Prototyp, erste fertige Festplatten mit Thunderbolt-Anschluss sind erst für den Sommer angekündigt.
Neben der aktuell noch schlechten Verfügbarkeit von entsprechenden Endgeräten ist ein weiteres (wenn auch lösbares) Problem, dass jedes angeschlossene Produkt über zwei Thunderbolt-Anschlüsse verfügen muss, um die Kette weiterzuführen. Das bedeutet nicht nur, dass eine Verbindung zwischen zwei Macs (während diese Möglichkeit bisher noch nicht offiziell bestätigt ist) zunächst keine weiteren Thunderbolt-fähigen Geräte mit einschließen kann. Insgesamt können sechs Geräte aneinandergekettet werden.
Ebenfalls muss ein Monitor mit Mini-DisplayPort entsprechend am Ende einer Kette stehen, denn einerseits haben die aktuellen Modelle nur einen MDP-Anschluss, der andererseits natürlich auch durch die fehlende Thunderbolt-Unterstützung keine weiteren Verbindungen zulässt (Apple-Displays kommen aktuell mit einem separaten USB-Anschluss).
Natürlich kann die Kette nur die volle Geschwindigkeit beibehalten, solange alle aneinandergeschalteten Geräte über Thunderbolt verbunden sind. Befindet sich innerhalb der Kette eine FireWire 800- oder USB-Verbindung, werden diese natürlich schnell zum Flaschenhals, weil an diesen Punkten nur die Fähigkeiten der jeweiligen Schnittstellen genutzt werden können. Erwartet werden allerdings T-förmige Adapter, um die schnelle Verbindung an langsameren Geräten “vorbeizurouten”. Von Apple selbst könnte es aber beispielsweise auch einen Hub geben, der aus einer Thunderbolt-Verbindung mehrere macht.
 

Thunderbolt an iPad und iPhone?

Spekulationen hat es auch über einen Mini DisplayPort an kommenden Generationen des iPad gegeben. Nach der Einführung von Thunderbolt ist dies allerdings sehr unwahrscheinlich geworden, denn die neue Technologie baut auf der PCI-Express-Architektur auf. Thunderbolt ist also eine Schnittstelle, die die Vorteile von Apples DisplayPort-Technologie mit denen von PCI-Express kombiniert. Über PCI-Express sind zwar die meisten internen Komponenten aktueller Computer miteinander verbunden, doch wird die Technologie weder in iPhones noch in iPads verwendet. Eine Unterstützung in Apples Mobilgeräten ist somit nicht gegeben.
Zudem unterstützt der dort verwendete 30-Pin-Dock-Connector tatsächlich noch mehr Funktionen als der Thunderbolt-Anschluss. In der Vergangenheit wurde zwar schon oft ein Wechsel von Dock Connector zu breiter unterstützten Schnittstellen wie Micro USB gefordert, aber in Cupertino wurden diese Wünsche konsequent ignoriert. Die neue EU-Regelung, dass alle Mobilgeräte eine einheitliche Schnittstelle haben müssen, könnte daran aber bereits mit dem nächsten iPhone etwas ändern – auch, wenn es sich hier eher um einenzusätzlichen Anschluss handeln wird als einen Ersatz. Drei Anschlüsse, also Dock Connector, Micro USB und Thunderbolt, würde Apple aber schon aus Designgründen sicher nicht verbauen.
 

Fazit: Die Zeit ist reif – bald

Während Thunderbolt also mit der gerade geschehenen Einführung große Potenziale zeigt, deren Umsetzung dem Endnutzer nicht nur viel Zeit, sondern auch Kabelsalat sparen können, ist ein sofortiger Umstieg wie bei allen frischen Technologien keinesfalls nötig. Eine ganze Weile wird es noch dauern, bis flächendeckend unterstützte Geräte von vielen Herstellern erhältlich sind. Sollte sich der Markt auf Apples Umsetzung der Forschung an “Light Peak” einlassen, könnte sich der neue Standard aber bereits im kommenden Jahr durchsetzen – Apples Einfluss auf den Computermarkt jedenfalls dürfte angesichts derUmsatz- und Gewinnzahlen mittlerweile groß genug sein.
[/copy-paste]

Tja, wieder etwas gelernt :)
keep on rocking- the incredible Leitman

15. Januar 2012

Kostenloses Android Entwickler-Toolkit von ARM

gefunden auf dem Softwareentwickler Blog:

Das Unternehmen ARM Limited hat seine Android-Entwickler-Toolkit Development Studio 5 Community Edition (kurz DS-5 CE) veröffentlicht.

Diese könnt ihr nun ab sofort von der Seite kostenlos downloaden.


Kostenlose Community Edition


Speziell für kleine Firmen und Einzelunternehmern hat ARM eine kostenlose Commmunity Edition seines Development Studio 5 veröffentlicht.
Für Hobbyentwickler ist sie umsonst, im kommerziellen Bereich liegen die Grenzen für die Nutzung dieser kostenlosen Variante bei einer Anzahl von maximal 10 Entwicklern je Firma und einem Jahresumsatz von 100.000 US-Dollar.


Development Studio 5


Mit der DS-5 CE könnt ihr native Android-Apps in C/C++ entwickeln könnt. Diese sollen bis zu vier mal schneller laufen als normale Java-Apps.
Die Community Edition unterstützt neben grafischen Debugging-Möglichkeiten ( Emulatoren wie auch auf Endgeräten) auch eine Basis-Version des Streamline-Performance Analyse Tools von ARM. Dadurch könnt ihr nicht nur Fehler schneller finden sondern auch Performanceoptimierungen besser umsetzen.
In einem Blog-Eintrag von ARM erfahrt ihr wie die kostenlosen Version installiert wird. Außerdem wird gezeigt, wie man beim Debuggen vorgeht. Hier geht es zu dem Blog-PostEnabling the Android Developer Community.


Download

Hier geht es zum kostenlosen Download der Community Edition von Development Studio 5: DS-5 CE Download