Hur Lära sig C?.

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

Det mesta i kap 1-7 där verkar stämma lika bra med C som C++, utom strängar och input/output. (Har inte kollat noga, bara rubrikerna).

Och det är nog vanliga C som gäller för MCU och det mesta inom hårdvarunära programmering.
Användarvisningsbild
AndLi
Inlägg: 18274
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Inlägg av AndLi »

Jag har fortfarande inte sprungit på nått projekt där man kör C++ för en MCU än.. och förhoppningsvis dröjer det nått decenium till :)

En av de stora skillnaderna är att klasser inte finns i C.

Egentligen borde man nog alltid först lära sig C och sen lära sig C++... Så jag rekomenderar helt klart att lära dig C först, på så sätt kommer du aldrig sakna klasserna :)

Finns ju faktiskt C for dummies också.. Inte heller den för MCU men den går igenom grunderna rätt bra...
Användarvisningsbild
Jonaz
Inlägg: 2358
Blev medlem: 4 november 2003, 22:06:33
Ort: Huddinge

Inlägg av Jonaz »

Ok då är det C som gäller alltså.
Borde finnas MCU for dummies....
offe
Inlägg: 152
Blev medlem: 30 december 2003, 21:16:14
Ort: Stockholm

Inlägg av offe »

Jonaz skrev:Vad är då skillnaden mellan C och C++? Spelar det nån roll vilket man lär sig för MCU?
Hittade denna kompendium för C++http://www.infa.abo.fi/~chakie/kurser/c ... book1.html Kan det vara nått att ha?
Instinktivt skulle jag säga C, C++ känns lite overkill för MCU men jag är inte hårdvarumänniska. Den väsentliga skillnaden är väl att det ena är funktionell programmering medan den andra (C++) är obejktorienterad.

C++ är väldigt trevligt när man skriver större program (arv och generaliseringar) men med min (begränsade) kunskap inom MCU är jag mer benägen att använda C då man sällan behöver de egenskaper som C++ erbjuder.

I mitt tycke är C bättre att lära sig om man vill koda för MCU. C++ är väldigt användbart, men (i min värld) kräver en hel del av platformen man kodar för. C är dessutom oändligt mycket enklare då man (ofta för inbäddade system) kodar rena flöden (vilket C++ är rent av overkill för).
Rymdninja
Inlägg: 330
Blev medlem: 15 december 2003, 13:41:25
Ort: Göteborg

Inlägg av Rymdninja »

jag hoppas att det var en felskrivning, men C är inte funktionell programmering. C är imperativt....
...funktionella programspråk är t.ex. haskell och ML....just for the record så att säga....

Dessutom så är juh C++ en "supermängd" (innehåller hela c) till c så om man kodar c så kan man juh ....umm....matematiskt säga att man kodar C++ ;)


Edit: lite omformulering, för mindre "besserwisserishness"
Lallas
Inlägg: 463
Blev medlem: 30 november 2003, 18:46:51
Ort: Malmö

Inlägg av Lallas »

OT: Själv röstar jag på att besserwisserishness blir månadens ord :D
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Inlägg av cykze »

Man brukar väl ändå säga att C erbjuder funktionsorienterad programmering, medan C++ erbjuder objektorienterad sådan.
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Jag ser dock gram mot att undersöka C++ till Renesas kit, jag har ett tag saknat möjligheten att göra klass med privata variabler osv i min MCU-programmering.

Jag ser den stora skillnad (för mig) mellan C och C++ i att man kan skydda rutiner på ett annat sätt, göra återanvändbara klasser med constructor och destructors och sånt.

Det skulle göra det mycket enklare att göra säker mjukvara men det skyddar inte mot klantig programmering.
Rymdninja
Inlägg: 330
Blev medlem: 15 december 2003, 13:41:25
Ort: Göteborg

Inlägg av Rymdninja »

När det gäller sådana begränsade förhållanden som mcu:s så är väl frågan om hur mycket overhead som genereras av c++ jämfört med c intressant....någon som har bra koll på det? Det kan inte vara så _väldigt_ mycket, men det skulle juh kunna spela roll...
offe
Inlägg: 152
Blev medlem: 30 december 2003, 21:16:14
Ort: Stockholm

Inlägg av offe »

Rymdninja skrev:jag hoppas att det var en felskrivning, men C är inte funktionell programmering. C är imperativt....
...funktionella programspråk är t.ex. haskell och ML....just for the record så att säga....

Dessutom så är juh C++ en "supermängd" (innehåller hela c) till c så om man kodar c så kan man juh ....umm....matematiskt säga att man kodar C++ ;)


Edit: lite omformulering, för mindre "besserwisserishness"
Tja, det är möjligt, vad jag menade var "procedural" men ibland går det för fort med svenskan.

Förvisso, min poäng var kanske inte i första hand att programspråken skiljer sig åt utan snarare utvecklingsprocessen för mjukvara. Visst delar de syntaktiska egenskaper men det betyder ju inte att det är samma språk. :wink:
Rymdninja
Inlägg: 330
Blev medlem: 15 december 2003, 13:41:25
Ort: Göteborg

Inlägg av Rymdninja »

aight....har ovanan att hänga upp mig på detaljer ibland bara :)
Användarvisningsbild
Fagge
Inlägg: 3930
Blev medlem: 27 maj 2003, 13:59:51
Ort: Blekinge

Inlägg av Fagge »

Nu har jag börjat allt studera lite C & har några frågor!.

1: När man har gjort ett litet program i C, kan man sen konventera hela C programet så att den visas i ASM för att kunna se hur kompilatorn har gjort?.

2: Om man vill klämma in några rader ASM i ett C program hur gör man då?. Skrivar man ASM raderna direkt i C programmet eller ska ASM programet vara skrivet i en separat fil som sedan anropas av C ,liknande subrutin?.
Användarvisningsbild
Melker
Inlägg: 410
Blev medlem: 26 maj 2003, 22:17:34
Ort: Umeå

Inlägg av Melker »

Blir lättare att hjälpa om du skriver vilken kompilator du använder och ev. till vilken aktitektur.
Användarvisningsbild
Fagge
Inlägg: 3930
Blev medlem: 27 maj 2003, 13:59:51
Ort: Blekinge

Inlägg av Fagge »

Ja det är ju till Renesas SKP32c84 bygget, som man fick till den där tävlingen!.
Användarvisningsbild
tecno
Inlägg: 27249
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Inlägg av tecno »

Schnegelwerfer skrev:Det finns en bok om ANSI C, "The C programming language" som paradoxalt även heter så på svenska :)

Den är på runt 200 sidor och förklarar C på ett bra och grundläggande sätt tycker jag.
Har du lust att klottra ner ett ISBN på den boken vore jag tacksam

Bengt
Skriv svar