Diskuze: C++ a C, Jednočipy

C++ C a C++ C++ a C, Jednočipy

Avatar
Martin.mak
Člen
Avatar
Martin.mak:

Ahoj lidi, mám zájem o programování jednočipů (Atmel, picaxe... )
Momentálně jsem ve fázi bádání, hledám dobrý zdroj informací. :)
Samozřejmě, že vím, že assembleru neuniknu, ALE protože to myslím s mikroprocesory vážně, vím že neuniknu ani Cčku, ALE rád bych se zůstal na klasických PC :D Proto bych se rád učil vedle ASM i C++.
Dřív (cca před měsícem) jsem se učil C#. Na tom nesejde, protože moje otázka zní: Jak podobný je C++ klasickému Cčku****? :) Je C++ prostě jen objektový a vylepšený Cčko? Myslím, že těško, to by neexistovalo objective C.. :)

Snad to má aspoň trošičku hlavu a patu.. :)

 
Odpovědět 4.1.2014 0:15
Avatar
GasCan
Člen
Avatar
GasCan:

Na co se vlastně ptáš?
Neexistuje slovo "těško". C a C++ si nejsou podobné..(stačí se podívat na základní konstrukci..)

Editováno 4.1.2014 0:22
Nahoru Odpovědět 4.1.2014 0:21
Gas! Gas everywhere!
Avatar
Martin.mak
Člen
Avatar
Martin.mak:

Ptal jsem se na to, na co jsi odpověděl, děkuji, ale raději bych viděl víc názorů, ;)
Omlouvám se za to "š/ž" pane gramatiku :)
Člověk co psal základy C++ napsal, že programy psané pro C jsou funkční i pro C++. :)

 
Nahoru Odpovědět 4.1.2014 0:41
Avatar
GasCan
Člen
Avatar
Odpovídá na Martin.mak
GasCan:

Nejsem gramatik, ale tohle je celkem "špatná" chyba.
Tak si prostuduj syntaxe obou jazyků a porovnej si je.

Nahoru Odpovědět 4.1.2014 0:43
Gas! Gas everywhere!
Avatar
Martin.mak
Člen
Avatar
Martin.mak:

Ok, děkuji. Ještě jedna otázka jen tak pro zajímavost, jak je těžší přecházet z C do C++ nebo z C++ do C? :)

 
Nahoru Odpovědět 4.1.2014 1:09
Avatar
Odpovídá na Martin.mak
Lukáš Hruda (Luckin):

C a C++ mají syntaxi stejnou, rozdíl je v tom, že v C++ je toho spousta navíc. Kromě toho že C++ má třídy, tedy se v něm na rozdíl od C dá programovat relatovně slušně objektově (jen ne tak pohodlně jako například v Javě nebo C#), je v něm obrovská spousta dalších užitečných věcí, které v C nejsou (reference, výjimky, genericita, přetěžování operátorů...). Co se týká toho přechodu, z C++ do C by to byl problém, protože by ti v C chyběla spousta věcí, na které bys byl z C++ zvyklý. Obráceně to v podstatě ani není přechod, v C++ se dá programovat naprosto stejně jako v C a je pravda že program napsaný v C bude (až na výjimky) fungovat i v C++, pokud tedy přecházíš z C do C++, pouze získáváš možnost začít používat nové funkce, které se musíš nejdříve naučit. Rozhodně není nutné učit se v C++ všechno, je to velmi obsáhlý jazyk a všechny jeho funkce stejně nikdy nevyužiješ.

 
Nahoru Odpovědět  +1 4.1.2014 2:15
Avatar
patrik.valkovic
Šéfredaktor
Avatar
patrik.valkovic:

JInak ještě nevím jak je to s C++ na mikročipech. To že je OS napsané v čistém C a níž má svoje důvody. C++ obsahuje konstrukce jako je například přetěžování funkcí (tedy že pokaždé vrací jiný typ), což v čistém C nejde. Aby C++ interně poznalo, jakou funkci má zavolat, tak si před jejich název dává prefixy (říká se tomu i nějak odborně ale nevím teď jak :D). Což znamená že máš li dvě funkce int funkce(); void funkce(); tak to po přeložení do zdrojáku budou funkce _in_funkce();_vo_fun­kce(); (pouze příklad, záleží na kompilátoru). Takže neznáš skutečný název funkce, která se má zavolat, v případě že bys chtěl C++ pracovat s ASM a volat tyto funkce. Čisté C dokáže přetížit pouze počet vstupních parametrů, ale návratovou hodnotu ne, takže je stále jen jedna funkce, takže kompilátor nemusí interně dávat žádné prefixy. Takže jeslti máš v C funkce void funkce() tak skutečně můžeš z ASM tuto funkci zavolat, na rozdíl od C++.

Nahoru Odpovědět  +1 4.1.2014 11:04
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
patrik.valkovic
Šéfredaktor
Avatar
Nahoru Odpovědět 4.1.2014 11:16
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Martin.mak
Člen
Avatar
Martin.mak:

Děkuji všem za odpovědi. :)
Devbook opět nezklamal. :)
Tak já kouknu na C a Desktop (respektive C++) bude muset počkat. Vidím to tak, že dám na sdraca a na C++ se kouknu jen zběžně.. budu pokračovat v C# :) )
Stejně se plánuji učit další jazyky... (minimálně HTML/CSS a PHP) :)

 
Nahoru Odpovědět 4.1.2014 17:00
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.