Danke p_mork!
Kenn mich aus
Das ist wieder total ungewohnt für mich, nach jahrelangem Java wieder C zu programmieren. Alleine diese Unannehmlichkeit mit diesen Zeigern, die Java einem abnimmt.
@Furzgas
const sagt in diesem Fall aus, dass der Zeiger nur lesend und nicht schreibend dereferenziert (an zu stelle zugegriffen, wo der Zeiger hinzeigt) werden darf. Die Funktion darf auch mit der Adresse eines nicht-konstanten chars aufgerufen werden, da man char* immer ohne Bedenken nach const char* casten kann. Nur andersrum, also wenn die Funktion einen char* erwarten würde und nicht const char*, dürfte man ihr nicht einen Zeiger auf einen konstanten char übergeben, da es nicht sichergestellt sein würde, dass die Funktion nur lesend darauf zugreift.
Ich habe keinen RP6 und kenn mich dementsprechend nicht mit der Lib aus, aber vermutlich erwartet die Funtion einen null-terminierten String als Argument. In C sind Strings immer Arrays aus chars, wobei das Stringende duch einen 0-character kenngezeichet ist. Und Arrays übergibt man üblicherweise indem man die Adresse auf das erste Element angibt.
Sorry, aber das sind alles Grundlagen von C, die man auch draufhaben sollte. http://tutorial.schornboeck.net/inhalt.htm ist ein gutes Tutorial dafür. Dort ist auch beschrieben was Zeiger sind und wie man mit ihnen umgeht.
Es gibt eine Java-VM für AVRs ( http://www.harbaum.org/till/nanovm/index.shtml ), man muss aber bedenken, dass der Java-Bytecode dort interpretiert wird und um den Faktor 50 langsamer ist als nativ ausgeführter Code.
Wenn Du objektorientiert programmieren möchtest, kanns Du auch C++ nehmen, dies wird vom avr-g++ größtenteils unterstützt.
MfG Mark
Danke p_mork!
Kenn mich aus
Das ist wieder total ungewohnt für mich, nach jahrelangem Java wieder C zu programmieren. Alleine diese Unannehmlichkeit mit diesen Zeigern, die Java einem abnimmt.
Hehe, hab auch jahrelang in Java entwickelt. Zwischendurch war mal ein Projekt in C auf nem Digi Wime Modul. Das ist zum Glück nie über nen Prototypen hinaus gegangen. Der Code sah unter aller Sau aus .
Auf dem RP6 sieht das Ganze vermutlich nicht viel besser aus aber ich wollt die Gelegenheit nutzen um mal wieder was mit C zu machen.
Code optimieren kann man später noch, genau wie Doku schreiben
Grüße,
Jan
Das ist mal ne Aussage, die gefällt mirCode optimieren kann man später noch, genau wie Doku schreiben Angel Zwinkern
Lesezeichen