PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie in C++ programmieren?



Arexx-Henk
05.12.2005, 14:12
Hallo,

Ich mochte mein Atmega8 mahl mit C++ programmieren.
Ich benutze jetzt ProgrammersNotepad2 mit einem makefile
der C compilert.
Jetzt mochte ich C++ code compilieren.
Gibt's da irgenwo ein beispiel 'makefile' oder sonstiges?
Ich hab in die makefile 'avr-gcc' geandert in 'avr-g++' und jetzt
erkant der compiler 'class{}' aber der operator 'new' wird
noch immer nicht erkannt.

Hat da Jemand eine Idee?

Gruss

Henk

Felix G
05.12.2005, 14:45
Soweit ich weiss werden die Operatoren new und delete vom Compiler nicht unterstützt.

Da musst du wohl mit malloc arbeiten



edit:
habe gerade nochmal in der Hilfe geschaut, da steht das auch drin

Can I use C++ on the AVR?
Basically yes, C++ is supported (assuming your compiler has been configured and compiled to support it, of course). Source files ending in .cc, .cpp or .C will automatically cause the compiler frontend to invoke the C++ compiler. Alternatively, the C++ compiler could be explicitly called by the name avr-c++.
However, there's currently no support for libstdc++, the standard support library needed for a complete C++ implementation. This imposes a number of restrictions on the C++ programs that can be compiled. Among them are:


Obviously, none of the C++ related standard functions, classes, and template classes are available.

The operators new and delete are not implemented, attempting to use them will cause the linker to complain about undefined external references. (This could perhaps be fixed.)

Some of the supplied include files are not C++ safe, i. e. they need to be wrapped into
extern "C" { . . . }

(This could certainly be fixed, too.)

Exceptions are not supported. Since exceptions are enabled by default in the C++ frontend, they explicitly need to be turned off using -fno-exceptions in the compiler options. Failing this, the linker will complain about an undefined external reference to __gxx_personality_sj0.
Constructors and destructors are supported though, including global ones.

tamp
05.12.2005, 15:24
ich würde auf c umsteigen, denn malloc ist eigentlich nicht so doll. Auf die frage warum kann ich leider nicht antworten, da es viel verständis eurerseits und viel zeit meinerseits beansprucht.

So unterschiedlich sind c und c++ garnicht.

Felix G
05.12.2005, 15:42
Naja, es spricht ja eigentlich nichts gegen C++
(vor allem nicht malloc, da das ja eigentlich von C kommt und nicht von C++)

allerdings sollte man malloc (oder eben new wenn es implementiert wäre)
auf einem Mikrocontroller nur verwenden wenn es garnicht anders geht

UlrichC
05.12.2005, 18:15
EDIT:GELÖSCHT 05.01.2011

tamp
06.12.2005, 15:46
Kannst du den schon einigermaßen c++, oder bist du noch bei schleifen, oder so.
Ganz oft nämlich sagen leute, dass sie c++ können, aber nicht wissen, was ein pointer ist.

UlrichC
06.12.2005, 17:05
EDIT:GELÖSCHT 05.01.2011

tamp
06.12.2005, 17:16
Ich meine eigentlich Arexx-Henk, aber egal ;)
Also bist du genauso wie ich ein kommerzieller programmierer?
Ich habe zwar nicht sooo viele Aufträge, aber normal leben kann ich damit.
Für welche betriebssysteme programmierst du?

Ich mache ja mehr im webdesign ...
Besuch doch mal das Forum www.c-plusplus.de ....

UlrichC
06.12.2005, 17:36
EDIT:GELÖSCHT 05.01.2011

tamp
06.12.2005, 19:55
Das ist hier ja hier schliesslich kein Tächtel-Mächtel-Chat sondern ein Robotik-Forum. :-s ...... [-(


Ich programmiere Crossplatform in C++ "Kollege" Zwinkern
Wie kann ich eigentlich Qt6 an mein VC "anbinden" oder wie man das nennt? Geht das überhaupt? Die MFC vom Visual studio ist nämlich echt für den Arsch ....

UlrichC
06.12.2005, 21:22
EDIT:GELÖSCHT 05.01.2011

Arexx-Henk
06.12.2005, 23:51
Hallo Felix G, danke fur die Antwort.

zu tamp



Kannst du den schon einigermaßen c++, oder bist du noch bei schleifen, oder so.


doch, doch, ich programmiere in C++ (Borland Builder) zeit 10 Jahre...

Ich mochte ein communication program herstellen wobei ein Atmega und Windows application uber Infrarot mit einander communzieren.

Es scheint mir einfach wenn ich die (gleiche) communi-functionen an beide Seiten verwenden konnte. Deshalb meine Frage.

Die compilierten hex datei war zwei mahl so gross.

So ich hab mir eine function ausgedacht in normales 'C' mit globalen variabelen die beide Seiten verwenden konnen. Arbeitet tadelos!

Danke fur die Antworten un Tips,

gruss

Henk

stochri
07.12.2005, 22:04
Irgendwie scheint das Ganze hier schon wieder aus dem Ruder zu laufen. Da möchte ich doch auf folgendes Zitat von tamp in
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=14796&postdays=0&postorder=asc&start=44
hinweisen.


ich bin 19 Jahre alt und studiere Chemie und Informatik später will ich nach Franzreich ziehen, um dort sprachen zu lernen ( das steht auch schon fest)

Zitat:
Ein im Forum unbekannter, vom Alter her recht junger Mensch eröffnet ein Thread, etwa mit dem Inhalt: "Ich will denken, also denkt was für mich aus". Wenn er etliche fertige Ideen unterschiedlicher Richtung serviert bekommt, so wird das Selberdenken dann doch zu schwierig, und auch die praktische Umsetzung ist nicht erwünscht.


Falsch. Ich wollte blos von euch wissen, ob ihr ein thema kennt, dass noch nicht sooo erforscht ist. Wer lesen kann ist klar im vorteil.

Zitat:
"Weil er eigentlich nicht anders kann"
Theoretiker ohne Praxisbezug trifft es auch...

Ist einer, der fließend 6 sprachen spricht und schon im Alter von 14 Jahren die Programmiersprache C++ (von den Grundlagen her) konnte, der ausserdem 3 Klassen übersprungen ist und die 13 Klasse nicht machen musste ein nichtskönner?

Ist das Ganze vielleicht ein Art psychologisches Experiment ? So in der Art IT-Entscheider im Heise Forum ?

Gruss,
stochri

UlrichC
08.12.2005, 05:38
EDIT:GELÖSCHT 05.01.2011

tamp
08.12.2005, 06:57
Ähm, ich verstehe ihrgendwie nicht worauf ihr hinauswollt!?!!!?

BT
08.12.2005, 10:00
also ich mach es so in C++

http://people.freenet.de/b_t/CPlusPlus.PNG

tristate
27.12.2005, 12:29
ich würd mal meinen das dieses programm sich hier die wenigsten leisten können..
würd mich aber trotzdem interessieren was daran so toll sein soll?
kennst du labview ist es damit vielleicht vergleichbar?
oder was rechtfertigt den doch sehr hohen preis?
mfg