compiler un code C avec un compilo C++ [C/C++] - C - Programmation
Marsh Posté le 10-08-2004 à 13:38:58
utiliser un compilateur C++ ca génére des choses que le compilo C ne génére pas. Notamment la décoration des fonctions
Marsh Posté le 10-08-2004 à 13:52:55
tu compiles du C avec du C++ ça ne te concerne pas.
tu utilises du code objet venant d'un programme C, la tu encadre des #include "ficherC.h" dans « extern "C" { } »
Marsh Posté le 10-08-2004 à 13:57:17
on peux aussi faire
#ifdef _cplusplus
extern "C" {
#endif
...
#ifdef _cplusplus
}
#endif
dans l'header
Marsh Posté le 10-08-2004 à 14:01:26
En terme de performance brute, j'ai toujours entendu dire que le C cela fait tellement longtemps que cela existe que les compilos sont plus performants. Si on compile un même code avec un compilateur C et un compilateur C++, le programme C ira plus vite. C'est toujours ce que j'ai entendu. Maintenant c'est peut être par qu'il existe des très bon compilateur C gratuit...
Marsh Posté le 10-08-2004 à 14:06:16
ok donc je pense que si je peux, je vais tester le code en C avec 2 compilateurs, un C et un C++ et je verrai ce que ca donne...
Marsh Posté le 10-08-2004 à 15:13:32
branlette
les compilateurs C/C++ ont la même partie arrière
c'est pareil
Marsh Posté le 10-08-2004 à 20:59:35
louphik a écrit : En terme de performance brute, j'ai toujours entendu dire que le C cela fait tellement longtemps que cela existe que les compilos sont plus performants. Si on compile un même code avec un compilateur C et un compilateur C++, le programme C ira plus vite. C'est toujours ce que j'ai entendu. Maintenant c'est peut être par qu'il existe des très bon compilateur C gratuit... |
Non, le C est un chouillas plus rapide que le C++ parce que le langage gère bcp plus de choses (instanciations d'objets, appels de méthodes par exemple), mais le compilo ne change pas. Si on compile du C avec un compilo C++, on a les perfs du C.
Marsh Posté le 10-08-2004 à 22:49:11
GuiYom_00 a écrit : c quoi la decoration des fonctions?? |
c'est une sorte de renommage des fonctions C++ par le linker, pour lui permettre de différencier des noms de fonctions identiques (du fait du polymorphisme et des fonctions virtuelles)
autre nom : le name mangling
Marsh Posté le 10-08-2004 à 13:26:58
Bonjour,
voila, c ma 2eme question de la journée... a savoir, si on compile un code C avec un compilateur C++, risque t'on d'avoir un impact sur les performances, en particulier au nieau de l'utilisation des structures et des fonctions fread/fwrite en lecture/ecriture binaire...
merci...