2010-11-22 19 views
0

Je suis tout à fait abeginner avec tout ce codage C/C++. Thay dire qu'avoir la bibliothèque C avec tous les en-têtes transformé en C++ dans un fashon comme:Quel serait le moyen le plus simple de transformer un dossier contenant des en-têtes C en un dossier contenant des en-têtes C++?

#ifdef __cplusplus 
extern "C" { 
#endif 

//.. header code 

#ifdef __cplusplus 
} 
#endif 

, il sera possibe d'utiliser Esély practicly une C lib de sources (modifiée de telle façon). J'ai donc pensé que je vais essayer au moins. mais j'ai trouvé que j'avais plus de 300 en-têtes ... Bien sûr, je ne les utiliserai pas tous, mais je préférerais faire du boulot une fois. Alors, comment puis-je ajouter un tel code à tous les en-têtes? (Je travaille avec Windows, VisualStudio 2010 et 2008)

+1

Vous ne parlez pas des en-têtes système, comme stdio.h et stdlib.h? Sinon, je ne peux pas imaginer comment vous en tant que débutant aurait 300 fichiers d'en-tête dès le départ. –

+0

Je parle de FFmpeg =) Je suis juste fatigué d'utiliser ses bilds (les miens sont merdiques et mon édition limitée d'en-têtes que j'ai créée par hend ... rrrrr) et je veux l'utiliser depuis les sources. – Rella

Répondre

4

Vous n'avez vraiment besoin de faire cela que si vous avez un code de bibliothèque C prédéfini auquel vous essayez d'interfacer votre code C++.

Si vous avez toujours les sources et que vous allez construire tout ce code C vous-même, il vous sera peut-être plus facile de les soumettre au compilateur en tant que code C++. Avec certains compilateurs, il est aussi simple que de renommer les fichiers source en * .cpp.

Si ce n'est pas possible, ce que je ferais est de commencer avec ce que vous avez, et la peine que de mettre les choses extern "C" autour de routines, vous devez utiliser directement à partir de votre code C++ que vous les trouverez. Ce sera sûrement beaucoup moins que les 300 fichiers complets, non?

+0

ici nous parlons de VS ... alors pouvez-vous fournir des informations sur la façon de soumettre C au compilateur en tant que code C++? Des readMes ou des liens avec des images? – Rella

+0

@Kabumbus - Eh bien, avec VS, comme je l'ai dit, je ne fais que renommer les fichiers ".c" en ".cpp" et continuer mon chemin. Il semble que l'option/TPfilename du compilateur lui dira que filename est un fichier C++, quel que soit son nom. –