skillnad mellan C och C++

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
petterp
Inlägg: 139
Blev medlem: 2 maj 2007, 21:30:39
Ort: Öland || Jönköping

Inlägg av petterp »

Jag sitter i AVRstudio4, så har jag installerat WinAVR för C-delen, Jag vet inte hur man anger Krets m.m.

Så jag kan använda C++ eller blir de overkill för en µC ??
men ifall C var en Delmängd av C++ så är de väll bara att köra på med C++ eller är det något riktigt dumt bakom den tanken?
Användarvisningsbild
karlstedt
EF Sponsor
Inlägg: 966
Blev medlem: 14 oktober 2003, 16:55:23
Ort: Lund
Kontakt:

Inlägg av karlstedt »

Använder du AVRStudio4 och AVR-GCC kommer du bli tvungen att använda C. Men du kan låtsas att du skriver C++... Du lär märka när kompilator säger ifrån :)

Vilken AVR du vill använda fick du väl välja när du skapade projektet i AVRStudio? Annars Project -> Configuration options
Användarvisningsbild
petterp
Inlägg: 139
Blev medlem: 2 maj 2007, 21:30:39
Ort: Öland || Jönköping

Inlägg av petterp »

Jag hittade de :D

men Winavr säger ju att de tillåter C och C++

http://winavr.sourceforge.net/

borde inte vara möjligt att skriva i c++ då :P
Användarvisningsbild
AndLi
Inlägg: 18319
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Inlägg av AndLi »

Men vad vill du skriva i C++? Vad är det du vill åstakomma i C++ som inte går i c?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Efter vad alla har sagt här, varför inte bara skita helt i C++ !?
Du kan ju hålla på så där och fråga hur länge som helst...
Användarvisningsbild
petterp
Inlägg: 139
Blev medlem: 2 maj 2007, 21:30:39
Ort: Öland || Jönköping

Inlägg av petterp »

inget jag vill åstadkomma :P

det är de att jag har tillgång till C++ böcker å hjälp från skolan, men C är jag inte säker på att det finns lika mycket hjälp att tillgå,

det verkar som att det blir lättast att lära sig C istället :P

får kolla upp om det finns nått om C på skolan :P
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Du får det att låta som om C och C++ skulle vara två *helt* olika språk.
Vet du alls vad skillnaden är ?
Användarvisningsbild
petterp
Inlägg: 139
Blev medlem: 2 maj 2007, 21:30:39
Ort: Öland || Jönköping

Inlägg av petterp »

det jag vet är egentligen det jag hört ifrån läraren när jag frågade vilket som var bäst att lära sig ;)

såvitt jag fattat det så är det att C++ är påbyggnad och har fler saker man kan göra , medans C är "simplare" saker man kan göra.

Du får rätta mig ifall jag har fel ;)
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> vilket som var bäst att lära sig

Att läsa sig *för vadå* ???
Som man frågar får man svar...

> ...att C++ är påbyggnad ...

Japp, ungefär så, och de som du kallar "påbyggnad" är det som bara
är i vägen om du programmerar för mikrokontrollers. Glöm det.
Användarvisningsbild
petterp
Inlägg: 139
Blev medlem: 2 maj 2007, 21:30:39
Ort: Öland || Jönköping

Inlägg av petterp »

det jag skulle lära mig var att programmera µC, Han påstod att man får ut mer av att lära sig C++.


så om jag ska sammanfatta så blir det såhär:

Glöm C++,
Gå till C istället?
Användarvisningsbild
gustavn
Inlägg: 297
Blev medlem: 30 november 2004, 12:27:05
Ort: Linköping
Kontakt:

Inlägg av gustavn »

Yes, precis så. Men läs c++ i skolan om du har möjlighet till det. Syntaxen i c och c++ är väldigt lika, och det du lär dig utöver gör nog ingen skada i kunskapsdatabasen heller.
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Inlägg av cykze »

Plockar du bort objektorientering (inkl STL och streams), templates, exceptions och referenser från C++ så har du ju i princip C. Och kan du C++ så kan du snabbt sätta dig in i de flesta andra språk också. Så visst är C++ bra att kunna, men kanske lite trögt att lära sig.

Så lär dig C++ om du orkar, men programmera AVR:en i C (eller asm). :)
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Alltså, kan läraren C++ men inte C då skulle jag nog ifrågasätta den kursen en hel del. Det torde vara fundamentalt att kunna språket som utgör grunden för att sedan nyttja tilläggen i C++.

Och av samma anledning tror jag du har absolut mest nytta av att lära dig ren C först, och sedan lägga på C++.

Själv har jag aldrig behövt C++, bara kört C (av dessa två). Så att C++ är "nyttigare" har nog mest att göra med vad man har för mål.
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Jag kör ANSI C på alla de µC-projekter där jag inte kör ASM, jag kör C++ på de PC-program jag gör och skillnaden i själva kodandet är obefintlig.

Visst, C++ medger klasser och en massa annat "lull lull" och det kan vara alldeles utmärkt när man sitter i ett projekt där hårdvaran har resurser i mängder men i µC-världen är det lite mer simpelt helt enkelt för att systemet är simplare.

Men tekniken i C(++), alltså dela upp i funktioner, struktur och flöde är själva stommen i all programmering oavsett vilket språk man väljer.

Men om även läraren tror att C är ett annat språk än C++ skulle jag allvarligt fundera över kvalifikationerna.
Användarvisningsbild
AndLi
Inlägg: 18319
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Inlägg av AndLi »

Har din lärare själv någonsin sett en uC? använt en?

Alla de inbyggda projekt jag utvecklat inbyggt under 10 år har varit C
och windowsprojekten har varit C++. (jaja, det har smugit in sig en del basic på båda platformarna med....)

En uppdelning som känns ganska standard, visst finns det större inbyggda system som man skulle kunna köra C++ på. Fast då är det ju inte riktigt PIC och AVR vi pratar om... (Kör just nu på ett system med 200Mhz 64Mbyte Ram ARM9... där hade säkert C++ funkat fint, men vi kör C endå...)

Så lär dig C++, men parallelt så förstå vad som ingår/inte ingår i C++
Den stora skillnaden är ju hur man designar och lägger upp sitt program..
Du kommer dock inte anväda C++ på dina små inbyggda system..
Men om du vill jobba med mjukvarutveckling i framtiden så är det definitivt bra att förstå objektorientering (hjälper dig när du sen hamnar i javaprojektet...)

Jag är dock förvånad att ingen i tråden har sagt åt dig att Asm är vägen att börja med AVR/PIC... det brukar vara ett populärt förslag, jag tror dock det skrämmer bort fler än det gör nytta... Ja, asm ger förståelse för hur det funkar, och hjälper en att skriva bättre C kod. MEN jag tror endå det är bra att börja med C för att komma igång lite, och ju mer man lär sig och vill veta. Ja då kan det vara dags att börja titta på asm med...

Läraren, vilken nivå lär han ut på?
Skriv svar