Sida 1 av 3

skillnad mellan C och C++

Postat: 12 februari 2008, 19:55:58
av petterp
Hej

Jag undrar vad skillnaden mellan att programmera i C++ och C är. När det gäller de olika kommandona för att sätta utgångarna och timern mm i µC

Är man tvungen att skriva i C eller kan man skriva i C++ också?

Kanske ska tillägga att det gäller AVR som programmeras via WinAvr (som stödjer C++ men tänkte ifall de var något annat som ställer till det)

Postat: 12 februari 2008, 20:05:47
av sodjan
Om du faktiskt har stöd för båda "dialekterna" eller "varianterna" av C,
så bör det ju fungera, med ungefär samma skillnader mellan C och C++
som annars. Personligen kanske jag inte riktigt ser fördelerna med "++"
i en så pass begränsad miljön som en mikrokontroller ändå är.

Postat: 12 februari 2008, 20:12:21
av petterp
Så det borde bara vara att köra på då? eller?

Fördelen för mig är att jag kan lära mig C++ via skolan och jag har fått intrycket att C++ är mer "andvändningsbart" i det stora hela.

Hur anger man vilken krets man använder när man skriver? har inte hittat något svar på detta.

Postat: 12 februari 2008, 20:37:33
av speakman
Då har du fått fel intryck... :p

C är det som gäller för uC men ta du din kurs i C++ ändå. Kanske får du med dig tillräckligt för att skriva i ren C.

Postat: 12 februari 2008, 20:45:33
av petterp
kan jag få några negativa effekter att skriva i C++?

eller kräver det för mycket av µC?

eller är det bara smaksak ;)

Postat: 12 februari 2008, 20:48:26
av InSipiD
Tänker jag fel, eller är inte C++ objektorienterat?
Det är väl inte riktigt vanligt att använda i en µC?

Postat: 12 februari 2008, 20:51:56
av petterp
jo C++ är objektorienterat ;)


man ska väll skilja sig från mängden :P

Postat: 12 februari 2008, 21:16:57
av björn
Visst är det så, och objektorientering har du absolut ingen nytta av i en 8-bits uc. men det finns säkert en del andra bitar du kan återanvända från C++.

Postat: 12 februari 2008, 21:26:47
av petterp
okej så jag får väll leta reda på någon C bok då i skolan ;)

men jag skulle vilja veta hur man anger följande när man skriver i C (om jag nu ska dra igång med de ;) ):
Krets
Kristall

Postat: 12 februari 2008, 21:52:40
av Icecap
C++ är ju C med "lite godis" så egentligen är det knappast någon skillnad i själva programskrivningen men börjar man med klasser osv. suger man för mycket resurser ur µC'n (oftast).

Men sedan din fråga om hur man anger krets och kristall... vet du ens själv vad du menar?

När ska "Krets" anges och i samband med vad?
När ska "Kristall" anges och i samband med vad?

Du vet... ju tydligare och ju mer väldokumenterat din fråga är ju bättre svar får du, frågan med "Krets" och "Kristall" kunde likaväl vara ställd under inflytande av olagliga ämnen eller hur?

Postat: 12 februari 2008, 21:52:57
av henkebenke
björn skrev:..objektorientering har du absolut ingen nytta av i en 8-bits uc...
Hur motiverar du det påståendet?

Postat: 12 februari 2008, 21:55:37
av petterp
Krets = den kretsen jag andvänder (atmega32) när jag kompilerade filen så stod det atmega128

Kristall = klockfreqvensen som kristallen är på.

Jag vet ju vad jag själv menar men ifall det är begripligt för andra är en annan femma ;)

Postat: 12 februari 2008, 22:01:14
av karlstedt
Är du nybörjare på C++ kommer det mesta du skriver att vara just C då det är delmängd av C++. De två språken eller dialekterna eller vad man vill kalla det skiljer sig när det gäller objekt och arv. C++ hanterar detta, det gör inte C.

Detta verkar dock inte vara grundproblemet. Har du t.ex. fått tag på en C++/C-kompilator där du kan ange "krets" och "kristall"? Du bör nog börja med att ta reda på vad du vill använda för utvecklingsmiljö...

Postat: 12 februari 2008, 22:01:16
av björn
henkebenke skrev:
björn skrev:..objektorientering har du absolut ingen nytta av i en 8-bits uc...
Hur motiverar du det påståendet?
Jag motiverar det vanligtvis med att objektorientering kräver mer resurser än vi har tillgängliga i en enkel uc(eller rättare sagt, mer än man normalt vill använda på oo), sen har jag svårt att se den stora fördelen med oop vid programmering av nybörjarprogram.

Postat: 12 februari 2008, 22:02:08
av speakman
Under konfigurationen av ditt projekt kan du ställa både krets och frekvens.