Forum: Offtopic C von A bis Z, Obenbook


von Maxim (Gast)


Lesenswert?

Wer kennt das Buch hier: http://www.galileocomputing.de/899?GPP=opc
40€ versandkonstenfrei + CD mit Beispielcode

Ich möchte C lernen. Macht es einen Unterschied, ob ich uC oder x86 
programmieren will? Die Programmbeispiele im Buch - so stehts drin - 
sind auf Windows , DOS  und Linux ausgelegt. Eignet es sich trotzdem, um 
z.B. einen 8051 oder ATMega zu programmieren? Habe gute Grundkentnisse 
in Assembler(ATmega/8051) und Java(x86).

von Der F. (zotos)


Lesenswert?

Schau es Dir doch mal hier an:
http://www.pronix.de/pronix-4.html

Ich finde es für den Einstig in C schon mal nicht schlecht.

von Maxim (Gast)


Lesenswert?

Ja, aber ich würde von C-Kennern gerne wissen, ob sich die 
C-Programmierung von Mokrocontrollern und x86-Systemen stark 
unterscheidet oder nicht.

von Maxim (Gast)


Lesenswert?

Schon alleine das erste Beispiel dürfte so auf eiem uC nicht gehen:

/* hallo.c */
#include <stdio.h>
int main (void) {
   printf("Hallo Welt\n");
   return 0;
}

oder?

von Karl H. (kbuchegg)


Lesenswert?

Maxim wrote:
> Ja, aber ich würde von C-Kennern gerne wissen, ob sich die
> C-Programmierung von Mokrocontrollern und x86-Systemen stark
> unterscheidet oder nicht.

Normalerweise: Ja, sie unterscheidet sich.
Alles was mit Ein/Ausgabe zu tun hat, wird auf einem µC entweder
völlig anders sein oder zumindest eine eigene Initialisierung
erfordern.
Alles was mit Files zu tun hat, ist entweder nicht existent oder
anders.

Aber der grosse Rest
* Variablen
* Bedingungen
* Arithmetik
* Schleifen
* Arrays
* Pointer
* ....

ist identisch.

Auf einem PC zu lernen macht auch Sinn, da man auf einem PC
alleine durch das Vorhandensein der stdin/stdout Kanäle schon
mal bessere Debugmöglichkeiten hat. Es ist halt schon ein
Unterschied, ob ich mir einen Zahlenwert auf dem Monitor ausgeben
lassen kann oder ob ich das mittels Bitmuster auf irgendwelchen
LED realisieren muss.


von Dr.Seltsam (Gast)


Lesenswert?

Nun ja, im Prinzip ist C immer gleich, egal für welche Zielhardware. 
Unterschiede gibt es nur in der Strategie der Speicherverwaltung, bzw. 
Variablendeklaration und in den zu verwendenden Bibliotheken. Dein 
Beispiel würde durchaus auf einem Mikrocontroller funktionieren, sofern 
er irgendetwas zur Textdarstellung hat.


Gruß
Dr.Seltsam

von Thomas B. (yahp) Benutzerseite


Lesenswert?

Maxim wrote:
> Wer kennt das Buch hier: http://www.galileocomputing.de/899?GPP=opc
> 40€ versandkonstenfrei + CD mit Beispielcode

Ich kenne genau dieses Buch von denen nicht, aber drei andere, die ich 
gelesen habe, würde ich als sehr gut bezeichnen.


> Macht es einen Unterschied, ob ich uC oder x86 programmieren will?

Das ist ja mittlerweile genug erörtert worden. Ich halte es da wie KHB. 
Das Buch für das Allgemeine sowie das Lernen aufm PC und für die 
Unterschiede zum µC zum Beispiel: 
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

Eine Eins-zu-Eins Übertragung der Beispiele aus dem Buch auf den µC 
kannst du allerdings nicht erwarten.

von Maxim (Gast)


Lesenswert?

Hm, da ich nächstes Jahr in der Schule sowieso C für x86 habe, werde ich 
mir dieses Buch wohl kaufen. Vielleicht wird später im Mathe- oder 
Physik-Studium diese Sprache sogar nützlich sein ...

von marvin m. (Gast)


Lesenswert?

Öhm - falls Du genau wissen willst, ob es etwas für Dich ist, lies es 
doch erstmal online. Dafür ist es ja veröffentlicht. Ich habe es auch so 
gemacht und dann das Buch gekauft, weil ich es als Nachschlagewerk in 
Ordnung finde und das Projekt "Openbook" unterstützen möchte.
Mir hats (als C-Anfänger, nicht als Programmieranfänger) einiges 
gebracht und ich nutze es regelmäßig.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.