Bonjour à tous,

Je suis actuellement en train de faire le portage d'un code C++ écrit pour le système d'exploitation SCO avec un compilateur pas très standard (compilateur SCO version 5) vers un C++ le plus standard possible (STL et tout et tout) actuellemenet j'utilise gcc 4.0.1 avec la librairie libstdc++.

Malgré quelques petit litige j'ai réussi à compilé mon mon premier exécutable, c'est au linkage que ça ne passe pas.

Alors je ne suis pas expert en C++ (connaissance scolaire) par contre j'ai déjà fait quelques projet conséquent en C et en Java.

Mon problème est donc le suivant, le code C est mélangé au C++, par exemple dans un fichier .cpp on peut trouver des chose comme (ce code est placé directement dans le module tempo.cpp et ne fait parti d'aucune fonction.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
 static char buffer[256];
 static char nom_ftempo[100];
 Fichier_circulaire trace_tempos;
 Horloge horloge;
 
 Tempo::Tempo ( int d, u_char t, int c, int r, int s, precision p ) {
  //Contenu du constructeur
  }
//Suite de la description du constructeur
En gros, dans ce code, on fait appel à des variables globales et interne au module à manière d'une programmation en C, et cela très régulièrement. Je n'ai pas le temps (ni l'envie) de réécrire toute mon application, quelle solution me proposez vous pour que je puisse linker avec gcc (option de compilation) en respectant le standard au maximun.

J'ai essayé essayé l'utilisation des balises extern "C" { } mais je ne suis pas sur que ce soit la bonne solution.

Merci d'avance pour vos réponse