Du bist nicht angemeldet.

  • Anmelden
  • Registrieren

Xerox

Profi

Beiträge: 793

Wohnort: Oberbayern

Beruf: Elektroniker für Automatisierungstechnik (Im Kommunikationsbereich tätig)

1

23.08.2009, 22:10

C(++) Infos

Hallo zusammen,

da ich mal davon ausgehe, dass sich hier der eine oder andere auch mit Programmiersprachen auskennt die nicht an Webanwendungen gebunden sind frage ich hier mal ganz vorsichtig.
Kann mir mal jemand allgemeine Tips zu C(++) geben?

Mein Ziel: Ich würde gerne z. B. den COM Port abfagen oder eine kleine Anwendung schreiben dass wenn ich auf einen Button klicke, dass diese dann über den COM Port was versendet. Das ganze "brauche" ich für spielereien mit dem Arduino

Mein (Haupt)Problem:

Habe jetzt in den letzten Tagen einige Stunden damit verbracht und die Grundvorraussetzung für C(++) zu suchen. Leider habe ich noch nicht mal ganz verstanden wovon sich C von C++ unterscheidet was welche Vor- und Nachteile hat und was für mein Ziel zu bevorzugen ist.
Mittlerweile weiß ich schon, dass ich eine Editor (am besten mit Highlighting) brauch und dazu einen Compiler (vorzugsweiße kostenlos und zumindestens mit 30 Tägiger Testphase).

Also wer mir so mal die Wichtigesten Sachen erklären kann oder ein gutes Tut hat, wäre ich sehr dankbar.
Fantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
Albert Einstein

Nichtraucher

domscity

Lumio

Meister

Beiträge: 1 913

Wohnort: Österreich

Beruf: Schüler

2

24.08.2009, 18:32

Hi,
bin selber zur Zeit am C++ lernen.

Also mal die grundlegenden Unterschiede:
C++ unterstützt unter anderem Klassen (Objekte) und ist eigentlich der einzige Grund, warum ich gleich damit angefangen hab.
Sonst gibt es kaum Unterschiede. Syntax ist eigentlich bei beiden gleich.

Um mit C++ zu arbeiten empfielt sich eine Entwicklerumgebung, wie Eclipse, NetBeans oder beim Mac wär da noch XCode. Ich weiss noch nicht genau, was ich nehmen möcht, aber ich glaub ich bleib bei Eclipse :D

Die Grundlagen... die bekommt man mal schnell zusammen. Ein Mitglied von macrumors.com hat mir mal seine Seite gegeben wo Grundlagen vorhanden sind: http://cs.saddleback.edu/ (Computer Science XY weiter unten)

Liebe Grüsse

oNe

Profi

Beiträge: 1 326

Wohnort: Oche

Beruf: Student

3

24.08.2009, 23:08

C++ ist die Objektorientierte Variante von C. Während C eher Low Level arbeitet und nur wenige Abstraktionsschichten über Assembler liegt, ist C++ deutlich komplexer und abstrahiert mehr von der eigentlichen Hardware. Dazu kommen Varianten wie C# die noch eine Zwischenschicht drüberlegen. Im Endeffekt dreht es sich bei allen nur darum weiter zu abstrahieren.
Du kannst mit C alles leisten was du auch mit C++ und C# machen könntest, nur umständlicher.
NetBeans für C/C++ zu empfehlen halte ich für gewagt.
In der Windows Welt ist wohl die bevorzugte IDE Visual Studio (kostenlos z.B. die VS Express)
Danach kommt Eclipse in den letzten Jahren, von dem es jede Menge Spin Offs gibt aufgrund der Plugin Struktur.

Arduinos sind diese kleinen Platinen mit Schnittstellen für AVRs oder?
Die Programmierst du ja sicher in C.
Um von Windows aus die Com Ports anzusprechen ist aber wohl C++ oder besser C# vorzuziehen, da es einfacher sein dürfte.
Ich hab gute Erfahrungen mit den Büchern Visual C# .Net Step by Step von John Sharp und Jon Jagger (englisch und auf C#.Net 2003 ausgelegt), sowie Einstieg in Visual C# 2008 aus dem Galileo Computing Verlag (die mit den OpenBooks).

Von Online Tutorials halte ich wenig, da diese meist nicht über die Grundlagen hinausgehen. Außerdem liest sich am PC schlecht und die meisten Sachen taugen maximal als Nachschlagewerk.

Zugriff auf den COM Port solltest du relativ leicht über die Windows Bibliotheken kriegen. Wenn du nur UART Kommunikation betreiben willst (Unter Windows zum Beispiel mit dem Hyperterminal) dann ist C++ bzw C# definitiv die richtige Wahl. Willst du weitergehen und Pin-Wackeln machen (Kommunikation ohne irgendwelche vorgegebene Synchronisation oder Paritätsrahmen) musst du schon C nehmen weil ab WinXP die Treiber das nicht mehr dürfen. (Allerdings geht das schon so weit, dass du das Ansprechen der Hardware in deinem PC auch selbst regeln musst und das Betriebssytem umgehen musst)
"IRC is just multiplayer notepad."

Xerox

Profi

Beiträge: 793

Wohnort: Oberbayern

Beruf: Elektroniker für Automatisierungstechnik (Im Kommunikationsbereich tätig)

4

25.08.2009, 21:33

Zitat

Arduinos sind diese kleinen Platinen mit Schnittstellen für AVRs oder?
Die Programmierst du ja sicher in C.

Jep sind so kleine Platinen in dem/meinem Fall mit ATMEGA328
Bin mir nicht so sicher ob diese Programme in C geschrieben werden (ich erkenn ja den unterschied zwischen C und C++ Programmen nicht) könnte aber auch eine Mischung sein weil ich schon öfter was von Processing gelesen habe.

Also den COM Port benötige ich nur zum Datenaustausch (Informationen wie Messdaten oder Zuständen) Programmiert wird er über eine extra Software.

Da ich ja von C noch so ziemlich überhaupt keine Ahnung habe kann ich mein anliegen auch schwer erklären. Aber am einfachsten wäre wenn ich (irgendwann mal), ein Fenster vor mir habe und wenn ich eine Schaltfläche betätige bekommt mein Controller den Befehl Schaltfläche XYZ und entscheidet dann was zu tun ist. Oder anders rum ich irgendwo bei meinem Fenster ein Anzeige der aktuellen Temperatur habe (vom Messfühler am Controller).

Leider habe ich nicht besonders viel Zeit für meine Hobbys deswegen sind bei mir nur kleine Schritte Sinnvoll u. Möglich (also auch nicht wundern wenn ich mal zu einem Beitrag nix schreib, da hatte ich dann wahrscheinlich bloß noch keine Zeit mir das genauer anzusehen).
Fantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
Albert Einstein

Nichtraucher

domscity

Lumio

Meister

Beiträge: 1 913

Wohnort: Österreich

Beruf: Schüler

5

25.08.2009, 22:49

Für deine Zwecke reicht auch schon VB. Kann mich noch erinnern, dass man damit auch ziemlich viel anstellen kann. War früher damit ziemlich aktiv. Funkt aber nur unter Windows.
www.activevb.de ist gut für den Einstieg und weiterführenden sachen.

jd-fun

Erleuchteter

Beiträge: 2 879

Wohnort: Köln-Kalk

Beruf: Ausbildung zum Informationastechnischen Assistenten; zeitgleich Abi

6

27.08.2009, 22:37

Als Entwicklungsumgebung nim auf jedenalls irgendeine IDE (Integrated Development Environment = Integrierte Entwicklungsumgebung), bei der hast du alles unter einem Hut: Editor, Compiler, Linker.
Sehr gut ist tatsache ein MS-Produkt, Visual Studio. Ist eine komplexe und für viele Sprachen ausgelegte IDE, gibt für jede der "Teilsprachen" eine kostenlose Express-Version, zu beziehen unter anderem auf der MS-Page. Ich lern gerade C# in der Schule, ein Microsoft-Produkt, dass syntaxtisch an C(++) angelehnt ist, aber rein obkjektorientiert arbeitet (du hast keine einzelnen Funktionen mehr, alles, Variablen, Funktionen etc sind Teil einer Klasse - du arbeitest nur noch objektorientiert).
C ist gar nicht objektorientiert, unterstützt keine Klassen. C++ ist syntaktisch an manchen Stellen ein Wenig anders als C, erweitert C um Klassen und andere Sprachkonstrukte, zudem ist die Standard-Bibliothek in C++ ein geniales Werkzeug, um das Rad nicht immer mehrfach wieder neu erfinden zu müssen.

Bestes Beispiel: Strings. Sowohl C als auch C++ unterstützen Strings nicht von der Sprache direkt her. In C musst du dir selber Funktionen implementieren, die dir eine String-Verwaltung ermöglichen. In C++ hast du in der Standard-Lib jedoch Klassen, die dir das abnehmen und du so Strings wie normale Datentypen verwenden kannst. Diese Klassensammlung, selber in C++ geschrieben, nimmt dir also die Arbeit ab, bestimmte, oft benötigte Funktionalitäten selber schreiben zu müssen.

Wenn du mit Fenstern arbeiten willst, dann ist das für den Einstieg übrigens nicht sonderlich empfehlenswert. Lern erstmal auf der Console ausführbare Programme zu schreiben, mit denen du dir die Grundlagen und darüber hinaus einiges anlernen kannst.
Dann solltest du dir wieder die Frage der IDE stellen. Denn z.B. Visual Studio bietet die Möglichkeit, sich Fenster zusammenzuklicken und die einzelnen Elemente dann im Sourcecode ansprechen zu können.
Ist wesentlich einfacher, als alles mit der WinAPI selber zu realisieren.

Auch ein gutes Tool (aber kostenpflichtig) ist der Borland C++-Builder. Auch hier hat man die Möglichkeit, Fenster zusammen zu klicken und im Sourcecode anzusprechen.
Jedoch solltest du bedenken, dass du dann nicht mehr die Möglichkeit hast, die IDE zu wechseln, weil jede IDE auf ihre Weise die WinAPI abstrahiert und somit das relative einfache Erstellen von Fenstern und ihen Elementen ermöglicht.

Ich würd für den Einstieg Visual Studio C++ Express empfehlen. Da kannst du sowohl Konsolenanwendungen erstellen als auch später über die sogenannten Windows-Forms Fensteranwendungen. Du hast den Compiler direkt integriert, genauso wie einen Editor und einen Linker.
Du hast zudem die Möglichkeit über die Projektverwaltung alles, was für ein Programm erforderlich ist (Source-Dateien, Fenster-Definitionen etc), in Projekten zusammengefasst.
Ein Projekt aufrufen und du hast alles wieder auf dem Bildschirm.
o
L_
OL


This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat.

Ähnliche Themen