quand utilise t on le c, et quand utilise t on le c++
bonjour,
voila, dans mon cursus, nous avons un cours d'archi, qui est surtout de la programmation system en c.(socket , semaphore, etc..etc...)
j'aurais voulu savor, c'est system call sont il les memes en c++ , et si oui pourquoi en programmation system, on n'utilise quasi jamais le c++)
et sinon, par apres, en general, faut il toujours utiliser le c pour le bas niveau (socket, and autre) et pour la couches superieurs, utiliser de l'objet??
merci
a++
Re: quand utilise t on le c, et quand utilise t on le c++
Citation:
Envoyé par elekis
c'est system call sont il les memes en c++ , et si oui pourquoi en programmation system, on n'utilise quasi jamais le c++)
Oui ce sont les même.
Pourquoi les appels systèmes sont-ils des fonctions C ?
Parceque qui peut le plus peut le moins, donc il n'y a aucun problème technique au fait d'appeler une fonction C dans un programme C++. Par contre, comme l'inverse est impossible, les concepteurs des fonctions les écrivent en C, pour qu'elles puissent être utilisées dans les deux languages.
Citation:
Envoyé par elekis
et sinon, par apres, en general, faut il toujours utiliser le c pour le bas niveau (socket, and autre) et pour la couches superieurs, utiliser de l'objet??
Quand c'est toi qui programme, tu a le choix. Comme je disais avant, pas de soucis pour appeler une fonction C dans u code C++. Si tu fais ce choix, par contre, il est mieux de faire en sorte que la classe qui utilise les appels systèmes encapsule correctement le C (c'est à dire en dehors de la classe, on a pas conscience qu'elle utilise des pointeurs etc...)
Même si rien n'est obligatoire à ce niveau (sinon ça ne compilerais pas) c'est très recommandé.
Pour conclure, ce qui détermine que tu va programmer en C ou en C++, c'est pas les fonctions que tu utilise, c'est ce que tu veux faire. Juste une simple fonction ? => C.
Un gros programme avec une belle architecture orientée objet ? => C++.
NB : On peut tout à fait faire du C avec un compilateur C++ !!
NB2 : On peut tout à fait interfacer du C++ avec de l'assembleur (linverse est beaucoup moins évident, cf le mangling)