[c] extern C, kesako ???

extern C, kesako ??? [c] - C - Programmation

Marsh Posté le 09-01-2004 à 18:28:42    

bonjour,
un petite question rapide en C:
 
que veux dire extern C:
 
ex:
 

Code :
  1. #ifdef __cplusplus
  2. extern "C" {
  3. #endif
  4.   #include "cwdefines.h"
  5.   #include "cwConfigParams.h"
  6.   #include "CVideoOut.h"
  7. #ifdef __cplusplus
  8. }
  9. #endif


Reply

Marsh Posté le 09-01-2004 à 18:28:42   

Reply

Marsh Posté le 09-01-2004 à 18:32:32    

il me semble que cela marque les définitions externes de variables comme étant déclarées dans un fichier compilé en C.


---------------
-( BlackGoddess )-
Reply

Marsh Posté le 09-01-2004 à 19:30:46    

Ce que je crois avoir compris : en fait c'est utilisé en C++ pour désigner les variables contenues dans un module compilé par un compilo C. Ca permet au linker de retrouver ses petits parce que en C++ les décorations de nom sont pas les mêmes.

Reply

Marsh Posté le 09-01-2004 à 19:48:50    

R3g a écrit :

Ce que je crois avoir compris : en fait c'est utilisé en C++ pour désigner les variables contenues dans un module compilé par un compilo C. Ca permet au linker de retrouver ses petits parce que en C++ les décorations de nom sont pas les mêmes.


 
c'est ca, encore que ca inclue aussi les fonctions

Reply

Marsh Posté le 09-01-2004 à 20:06:05    

c'est un problème de substantypage
 
le substantypage du C est très simple étant donné qu'il n'y a pas de fonctions suchargées, templates, objets, etc
 
celui du C++ est beaucoup lourd
 
donc pour que du C++ accède à du code C, compilé comme C, il faut le dire au compilateur, pour qu'il arrive àf aire son boulot

Reply

Marsh Posté le 09-01-2004 à 20:16:49    

oky, it makes sense :)
thanks

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed