www.mikrocontroller.net

Forum: PC-Programmierung Welchen Compiler für einfaches Programm ?


Autor: Mark Hilbich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute.

Wieder einer mit einer einfachen Frage.(oder auch nicht)


Ich habe für eine einfache Beleuchtungsregelung gebastelt die mit einer
Kennlinie aus 8 Bytes arbeitet die im EEprom des Controllers stehen.
Aktuelle Daten werden einfach über die Serielle in den Controller
übertragen
Soweit läuft alles perfekt.

Momentan nutze ich noch ein Terminalprogramm um die Daten zu
überspielen aber ich möchte natürlich ein passendes Program für Windows
erstellen.

Die Ausführung ist eigentlich recht simpel.
8 Schieber zum Einstellen und auf Tastendruck soll der Datensatz
einfach mit Checksumme über die Serielle zum Controller geschickt
werden.

Was ich suche ist ein Compiler der mir ein ergebnis ohne Externe
Bibliothek liefert und auch die Serielle unterstützt.

Das bis jetzt gefundene benötigt entweder eine Laufzeitbibliothek oder
unterstützt die Serielle nur mit viel umstand oder gleich garnicht.


Ich brauche also folgendes:

1. Frontend quasi zusammenklickbar.
2. Unterstürzung der Seriellen.
3. Ergebnis muß Standalone sein.
4. Wenn möglich dann natürlich Freeware aber das ist nur Optional.

Was ich ausklammern möchte ist C oder C++.Es ist mir einfach zu
Kyptisch.
Basic oder Pascal kämen mir schon entgegen da mir diese nicht ganz
fremd sind.



Kann mir da mal einer nen Schubs in die richtige Richtung geben ?
Wäre echt Nett.



Mark Hilbich

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Alternative 1:
C# + Visual C# 2005 Express mit .NET-Framework 2.0
Braucht zwar auch eine Laufzeitumgebung aber um die wird der normale
Windows-Benutzer eh nicht lange rumkommen.

Alternative 2:
Java + Netbeans mit CommAPI
Braucht aber auch die Java-Laufzeitumgebung und die etwas merkwürdig zu
installierende CommAPI.

Beide Alternativen bringen brauchbare GUI-Editoren mit. Weitere
Alternativen werden dir von anderen noch genannt werden.

Matthias

Autor: Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Serielle Schnittstelle wird von der Windows API unterstützt und kann
mit CreateFile (oder so) angesprochen werden.
Im Prinzip tut es also jeder C-Compiler.
z.B.
http://www.bloodshed.net/devcpp.html

Hilfe zu Windows API:
http://www.winapi.net/

Das zusammenklicken der Oberfläche wird schon schwieriger.
Da kann ich z.B. den C++ Builder von Borland empfehlen.

Wenn es kostenlos sein soll:
http://wxdsgn.sourceforge.net/

Ist allerdings noch nicht ganz ausgereift. Für Anfänger nicht zu
empfehlen.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es doch Basic sein soll - RealBasic. Erzeugt im Gegensatz zu den
Microsoft'schen Ansätzen monolithische Programme (1 Exe-Datei, die
alles erforderliche enthält).
Je nach Ausführung ist RealBasic sogar ein "cross platform"-Werkzeug
und kann auch Code für Linux und MacOS erzeugen.
Eine einfache Version (ohne "cross platform") wurde eine Zeitlang
sogar kostenlos verteilt - Zielgruppe waren VB6-Anwender, die ihre
Programme für VB.net hätten anpassen müssen.

Alternativ bietet sich für die Leute, die mit der Pascal-Syntax
klarkommen, Delphi an. Das lag in diesem Sommer einer c't bei - und
war, vom Preis der c't abgesehen, kostenlos. Zur Installation bedarf
es nur einer Seriennummer, die man bei Borland abholen kann.

Autor: ,,,, (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon Delphi in Erwägung gezogen?

> 1. Frontend quasi zusammenklickbar.

Mit Delphi 100% möglich.

> 2. Unterstürzung der Seriellen.

Es ibt kostenlose Komponenten, die diese Funktionalität besitzen =>
keinerlei Programmieraufwand.

> 3. Ergebnis muß Standalone sein.

Delphiprogramme sind stand alone.

> 4. Wenn möglich dann natürlich Freeware aber das ist nur Optional.

Bis vor kurzem gab es die personal edition von Delphi v7 kostenlos,
scheint aber wohl nicht mehr so zu sein. Jedenfalls gibt es den
Downloadlink nicht mehr bei Borland bzw. Inprise. Dieser Compiler wurde
aber auch oft auf irgendwelchen CDs mitgeliefert, vielleicht findest du
da noch was. Ich denke, dass es die personal edition auch noch irgendwo
im Netz gibt.

Autor: Ratber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmmm.

Basic oder auch Pascal.
Keine Bibliotheken.
Frontend zusammenklickbar
Funktionen für die Serielle
Möglichst Gratis.


Ich denke mal das du da vieleicht noch Abstriche machen müßtest.

Purebasic wäre vieleicht ein Kandidat für dich.

+Ist Basic.
+Das Compilat läuft ohne zusätze.
+Das Frontend ist wie bei vielen anderen zusammenklickbar und,was noch

 besser kommt,einfach in den Code integrierbar.
+Crosscompiler für Win,Linux und MAC falls was universelles gebastelt
 wird.

=Die Serielle wird nicht direkt unterstützt aber ich habe da ne Lösung

 gesehen die man sich anpassen kann.

-Leider nicht gratis aber mit 60 bzw. 80 Eur. noch bezahlbar.
 (Demo verfügbar)


Leider kann ich dir nicht viel Erfahrungen dazu mitteilen.
Hab das mal ausprobiert weil ein Arbeitskollege damit seine kleinen
Apps zusammengeschustert hat.
Machte einen leichten Eindruck.

Schau es dir mal an.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau dir doch mal Labview von National Instruments an. Da kannst du dir
die Programme + Frontend zusammenklicken. Die Programme werden dort
mittels Symbolen zusammengeklickt.
-> Nix schreiben!

Ist aber nicht kostenlos, es gibt aber eine Demoversion.

Autor: Mark Hilbich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Matthias Weißer

Ich sagte ja das C mir zu kryptisch ist.
Da bekomme ich Kopfschmerzen von.



@Heinz

Ohne Laufzeitumgebung war bedingung.
Mit kann ich gleich VB nehmen.
aber der Hinweis auf die Windows-API war gut (Näheres weiter unten)



@Rufus T. Firefly

RealBasic ist schon nicht schlecht (Keine Laufzeitumgebung) aber der
eigentliche Code geht da wieder komplett in der ganzen Verknüpfelei
unter.



@,,,, und Rufus T. Firefly

Delphi habe ich schon durch und etliche Tutorials probiert.
Wie bei fast allen Visuellen Compilern ist die Oberfläche zwar schnell
zusammengeklickt und auch der eigentliche Code noch in sinvoller Zeit
und verständlich erstellt aber man wird beim Verknüpfen der Funktionen
mit den For,mularen über Zig Listen irre.

leider hat Delphi nicht mehr viel mit dem Pascal was ich noch kenne zu
tun.
die Syntax erinnert mehr an C.



@Stefan

Das schaue ich mir mal näher an.



@Ratber

Ja,Purebasic sieht gut aus.
Ich probiere es gerade.

Bis jetzt kann ich auch die Beispiele nachvollziehen.
Die diversen Routinen für die Serielle habe ich schon gefunden.
So wie die aussehen glaube ich eine Chance zu haben das ich die mir
anpasse.






@All


Vielen Dank für die Hinweise und Hilfe.
Ich probiere mal Purebasic aus und melde mich die Tage nochmal um zu
berichten.





Mark Hilbich

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

C# hat soviel mit C zu tun wie Java mit C zu tun hat. Es verwendet die
gleiche Struktur für Blockbildung, die Funktions- bzw.
Methodendefinition hat gewisse Ähnlichkeiten mit C und es verwendet die
gleichen Operatoren wie C aber das wars dann auch schon. Sowohl Java als
auch C# sind moderne Programmiersprachen in denen man nicht mehr wild
mit Pointern um sich schmeißen muss obwohl das in C# immer noch geht.

Matthias

Autor: pittbull (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> C# hat soviel mit C zu tun wie Java mit C zu tun hat.

c# ist microsoft-java. die haben java quasi nachgebaut und aufgebohrt.

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

und? Was willst du und damit sagen? So wie C# von Java abstammt (mit
einigen netten Erweiterungen wie delegates, boxing, operator
overloading) stammt Java von Smalltalk und ein kleines bischen von C++
ab. Kaum eine heutige Programmiersprache kann von sich behaupten das
sie nicht irgendwelche Ideen aus Vorgängern übernommen hat.

Matthias

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"stammt Java von Smalltalk und ein kleines bischen von C++ ab"

Huh? Was bitte hat Java von Smalltalk, abgesehen davon, dass beide
objektorientiert sind?

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Java verwendet z.B. das Konzept eines Objektbaums wie Smalltalk. Alle
Objekte stammen von java.lang.Object ab. Jede Klasse kann nur von einer
Klasse erben im Gegensatz zu C++. Die automatische Speicherverwaltung
(Garbage Collection) und das Konzept der VM wurden ebenfalls
übernommen. Von C++ stammt eigentlich nur der Syntax (Blockbildung,
Verzweigungen, Schleifen usw.) Kaum eine elementare Eigenschaft von C++
(Mehrfachvererbung, Destruktoren, Operator Overloading, Templates), mit
Ausnahme der primitiven Datentypen die es in Smalltalk nicht gibt,
wurde in die erste Java-Version übernommen.

Matthias

Autor: Mark Hilbich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute


Wollte mich wie versprochen nochmal melden.
Ich bin erst zum Wochenende dazu gekommen wirklich an meinem kleinen
Projekt zu Arbeiten.

Mit der gefundenen lösung für die Serielle klappt es wunderbar nachdem
ich sie für mich etwas abgeändert habe.
Das Programm ist in seinen wesentlichen Funktionen fertig und jetzt
fehlen noch Details wie Presets,eine kleine Hilfe und kosmetische
Geschichten wie Form,Farbe usw.




Nochmal danke an Alle für die Ideen/Vorschläge und speziell an Ratber
für den Tip mit Purebasic.


Mark Hilbich

Autor: Ratber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Yo,keine Ursache

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Kaum eine elementare Eigenschaft von C++ (Mehrfachvererbung,
> Destruktoren, Operator Overloading, Templates), mit Ausnahme der
> primitiven Datentypen die es in Smalltalk nicht gibt, wurde in die
> erste Java-Version übernomme

Gerade das Fehlen von Destruktoren sorgt dafür, daß bei Java alle
Ressourcen außer Speicher nicht automatisch freigegeben werden können.

Autor: Karl heinz Buchegger (heinzi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tschulige Rolf, dass ich hier einfach reinplatze.
Ich dachte immer, das es in Java sehr wohl Destruktoren
gibt (ich kann kein Java und hab auch keine Lust dazu).
Das Problem sei viel mehr, dass man durch die Garbage Collection
nie weiss wann denn nun ein Destruktor aufgerufen wird.

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

in Java gibt es keine Destruktoren. Der Garbage Collector wird hin und
wieder aufgerufen und löscht dann alle Objekte die vom Wurzelknoten des
Systems aus nicht mehr referenziert werden können (Mark-Sweep
Verfahren). Ein automatisches Aufräumen von Filehandles ist damit nicht
möglich. C# bietet zwar eine Art Destruktor an dessen
Ausführungszeitpunkt aber nicht garantiert werden kann (er wird vom GC
aufgerufen)

Matthias

Autor: Karl heinz Buchegger (heinzi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Merci.

Autor: Bartli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> C# bietet zwar eine Art Destruktor an dessen
> Ausführungszeitpunkt aber nicht garantiert
> werden kann (er wird vom GC aufgerufen)

Gibt es auch in Java, heisst dor Finalizer.

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Stimmt. Ich hab das eben nochmal nachgeschaut. Wieder was gelernt,
danke.

Was man aber in dem Zusammenhang noch erwähnen sollte ist das die
Ausführung dieser finalize-Methode (sowohl in Java als wahrscheinlich
auch in C#) nicht nur zu einem unbestimmten Zeitpunkt geschehen kann
sondern evtl. sogar ganz unterbleiben kann wenn die Anwendung nämlich
beendet wird bevor der GC läuft. Dieses Konstrukt kann also nicht als
vollwertiger "Ersatz" eines C++ Destruktors gelten.

Matthias

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.