Programmation C et CVS

Hello,

J’utilise CVS intégré à l’environnement Eclipse ainsi que CDT pour le C. J’aimerais pouvoir récupérer la version CVS courante dans mon programme C afin de pouvoir stocker cette version dans un fichier. Est-il possible de récupérer cette version en tant que variable Globale ou une astuce quelconque ?

Merci d’avance,
Patrick.

Tu peux pas executer en C ta commande (un execvp ou un truc du genre)
Et ouvrir ton fichier ensuite ? Et le stoquer ?

Euh je comprends pas trop ta réponse. En fait j’ai simplement un programme C qui fait plein de statistiques et qui écrit les résultats dans un fichier. Pour l’instant je n’ai que la date et l’heure pour identifier une simulation, et j’aurais aimé avoir la version cvs du fichier C correspondant au programme également, et je me demandais si elle était pas accessible en tant que variable sous Eclipse ou quelque chose comme ca.

Je n’ai pas beaucoup expérimenté CVS mais j’ai souvent vu que les fichiers contenaient une chaîne $Id$. Vu que ça doit être un simple remplacement de texte, tu dois pouvoir affecter cette chaîne à une variable dans ton fichier, et l’utiliser dans ton programme.

Par exemple, dans les sources de FreeBSD tu as dans les fichiers quelque chose comme

__FBSDID("$FreeBSD: /repoman/r/ncvs/src/bin/cat/cat.c,v 1.32 2005/01/10 08:39:20 imp Exp $");

edit : visiblement il suffit de placer $Id$ dans ton fichier source n’importe où et ça va faire le remplacement lors du commit. Je pensais que c’était plus compliqué :stuck_out_tongue:

Ce que je voulais dire c’est que si t’arrive a avoir tes info en lignes de commande dans ton terminal avec CVS, t’as qu’a appeller cette commabde en C puis de recuperer le resultat.
Sinon t’as pas des lib cvs en C ?

[quote=“kineox, post:4, topic: 29460”]Je n’ai pas beaucoup expérimenté CVS mais j’ai souvent vu que les fichiers contenaient une chaîne $Id$. Vu que ça doit être un simple remplacement de texte, tu dois pouvoir affecter cette chaîne à une variable dans ton fichier, et l’utiliser dans ton programme.

Par exemple, dans les sources de FreeBSD tu as dans les fichiers quelque chose comme

edit : visiblement il suffit de placer $Id$ dans ton fichier source n’importe où et ça va faire le remplacement lors du commit. Je pensais que c’était plus compliqué :P[/quote]
Merci, je vais voir ce que ca donne.

En regardant dans le fichier CVS/Entries tu as la version de tous les fichiers du repertoire qui sont sur CVS.