thedarkkillerz
Messages postés18Date d'inscriptionsamedi 3 juillet 2004StatutMembreDernière intervention21 juin 2010
-
11 oct. 2008 à 16:25
thedarkkillerz
Messages postés18Date d'inscriptionsamedi 3 juillet 2004StatutMembreDernière intervention21 juin 2010
-
12 oct. 2008 à 20:48
Bonjour,
je suis habitué au C# et au confort de Visual Studio et je voudrait passer au C/C++, j'ai donc suivit pas mal de cours sur le net mais il y a quelques notions que j'ai un peu de mal à saisir, corrigez moi si je me trompe:
string maVariable;
string *monPointeur = &maVariable;
Dans ce cas je crée un pointeur qui pointe sur la variable maVariable
string monTableau[5] = {0}; //Je crée un tableau dont chaque élément est un string
mais si je fait :
string *monTableau[5];
Je crée un pointeur vers un tableau de string ou je crée un tableau de pointeurs dont chaque pointeur pointe sur un string
J'ai d'autres questions au passage, au risque de me faire taper par les Pro/Linux et autres;
-Existe-t-il un IDE de qualité équivalente (je veux dire au niveau de l'intellisense et du débugger) sous linux et comment les paramétrer? parceque j'ai essayé Code::Block, j'arrive à débugger mais je trouve l'intellisense moyen, j'ai essayé Eclipse j'arrive pas du tout à compiler et j'ai essayé KDevelop, j'arrive à compiler, l'intellisense est bon(a part qu'il freeze 2-3 secondes à chaque mot) mais je peux pas débugger.
-Quelles sont les différences entre la compilation pour Windows et Linux? Le C et C++ sont sensés être multi-plate-forme non?
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 11 oct. 2008 à 19:53
"par exemple un exécutable qui fait simplement 2+3 doit obligatoirement être recompilé pour chaque OS?"
Oui.
Les instructions générés sur des machines avec une architecture similaire (disons 386) seront les mêmes.
Cependant, le format des exécutables diffère selon les OS. PE sous windows, ELF sous linux, Mach-O sous mac-os X, chacuns étant développer/adapté pour l'OS.
Voilà pourquoi il faut recompiler même le plus simple des programmes.
thedarkkillerz
Messages postés18Date d'inscriptionsamedi 3 juillet 2004StatutMembreDernière intervention21 juin 2010 11 oct. 2008 à 16:30
Désolé pour le double post mais j'oubliais,
-Y-a-t il un moyen par exemple de faire une DLL en C/C++ et de l'appeler sous .Net ou l'inverse?
-Et qu'en bonus cette DLL puisse être compatible Windows/Linux (c'est beau de rêver )?
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 11 oct. 2008 à 18:24
"string *monTableau[5];"
Un tableau de 5 pointeurs de string.
"Quelles sont les différences entre la compilation pour Windows et Linux? Le C et C++ sont sensés être multi-plate-forme non?"
Ce langage n'est pas de l'interprété mais compilé. Ce qui est généré par le compilateur est un binaire exécutable directement sans passer par moulte interpreteurs. Le binaire dépend cependant de la plateforme pour laquelle il a été compilée.
Le langage peut-être utiliser sur toute plateforme ayant un compilateur C/C++. Aucun problème la dessus. Les API, cependant, diffères.
"-Et qu'en bonus cette DLL puisse être compatible Windows/Linux (c'est beau de rêver )?"
thedarkkillerz
Messages postés18Date d'inscriptionsamedi 3 juillet 2004StatutMembreDernière intervention21 juin 2010 11 oct. 2008 à 19:16
"Ce langage n'est pas de l'interprété mais compilé. Ce qui est généré par le compilateur est un binaire exécutable directement sans passer par moulte interpreteurs. Le binaire dépend cependant de la plateforme pour laquelle il a été compilée."
Je comprend que si on utilise des API propres aux OS ça puisse poser problème pour la compatibilité, mais il n'y a rien de "commun" entre les OS? par exemple un exécutable qui fait simplement 2+3 doit obligatoirement être recompilé pour chaque OS? Parceque je ne sais pas comment ça se passe pour les OS mais les binaires dépendent du jeu d'instructions du processeur non?
Je sais que ça fait beaucoup de questions mais je suis curieux et j'aimerais comprendre..
Vous n’avez pas trouvé la réponse que vous recherchez ?
thedarkkillerz
Messages postés18Date d'inscriptionsamedi 3 juillet 2004StatutMembreDernière intervention21 juin 2010 11 oct. 2008 à 22:01
Merci pour ces précisions, je commence à comprendre.
Et en ce qui concerne les IDE, j'ai trouvé comment débugger sous KDevelop, mais je trouve que le debogger n'est pas aussi simple d'utilisation que celui de Visual Studio, lequel me conseilleriez-vous pour commencer?
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 12 oct. 2008 à 15:59
"je trouve que le debogger n'est pas aussi simple d'utilisation que celui de Visual Studio"
Bah on peut pas tout avoir ;)
Personnellement, je trouve que le debuggeur qui se rapproche le plus de celui de VC++ en terme de simplicité est celui d'Eclipse. Mais j'ai aussi certains problèmes avec cet IDE et pas juste en C++ mais en Java aussi...
J'utilise geany sous Linux qui est très légé et ne demande pas l'installation de 1000 paquets. Malheureusement, il ne comporte pas de debugger intégré. J'utilise pour ça gdb qui est un debugger en ligne de commande. Pas aussi simple mais efficace.