Bonjour a tous,
voila je debute en C depuis 2 mois et je dois modifier un code (30000
lignes, ce qui est gros pour moi !) ecrit dans ce language.
J ai deja fait quelques modifs, mais la facon dont est ecrit ce code me
rend dingue : pas un gramme de modularite !
Alors je suis a la recherche de conseils pour introduire un peu d'OOP
dedans, et petit a petit transformer le code entierement en C++.
Comment dois-je m'y prendre ?
Antoine.
Bonjour a tous,
voila je debute en C depuis 2 mois et je dois modifier un code (30000
lignes, ce qui est gros pour moi !) ecrit dans ce language.
J ai deja fait quelques modifs, mais la facon dont est ecrit ce code me
rend dingue : pas un gramme de modularite !
Alors je suis a la recherche de conseils pour introduire un peu d'OOP
dedans, et petit a petit transformer le code entierement en C++.
Comment dois-je m'y prendre ?
Antoine.
Bonjour a tous,
voila je debute en C depuis 2 mois et je dois modifier un code (30000
lignes, ce qui est gros pour moi !) ecrit dans ce language.
J ai deja fait quelques modifs, mais la facon dont est ecrit ce code me
rend dingue : pas un gramme de modularite !
Alors je suis a la recherche de conseils pour introduire un peu d'OOP
dedans, et petit a petit transformer le code entierement en C++.
Comment dois-je m'y prendre ?
Antoine.
Bonjour a tous,
voila je debute en C depuis 2 mois et je dois modifier un code (30000
lignes, ce qui est gros pour moi !) ecrit dans ce language.
J ai deja fait quelques modifs, mais la facon dont est ecrit ce code me
rend dingue : pas un gramme de modularite !
Alors je suis a la recherche de conseils pour introduire un peu d'OOP
dedans, et petit a petit transformer le code entierement en C++.
Comment dois-je m'y prendre ?
Antoine.
Bonjour a tous,
voila je debute en C depuis 2 mois et je dois modifier un code (30000
lignes, ce qui est gros pour moi !) ecrit dans ce language.
J ai deja fait quelques modifs, mais la facon dont est ecrit ce code me
rend dingue : pas un gramme de modularite !
Alors je suis a la recherche de conseils pour introduire un peu d'OOP
dedans, et petit a petit transformer le code entierement en C++.
Comment dois-je m'y prendre ?
Antoine.
Bonjour a tous,
voila je debute en C depuis 2 mois et je dois modifier un code (30000
lignes, ce qui est gros pour moi !) ecrit dans ce language.
J ai deja fait quelques modifs, mais la facon dont est ecrit ce code me
rend dingue : pas un gramme de modularite !
Alors je suis a la recherche de conseils pour introduire un peu d'OOP
dedans, et petit a petit transformer le code entierement en C++.
Comment dois-je m'y prendre ?
Antoine.
voila je debute en C depuis 2 mois et je dois modifier un code (30000
lignes, ce qui est gros pour moi !) ecrit dans ce language.
J ai deja fait quelques modifs, mais la facon dont est ecrit ce code me
rend dingue : pas un gramme de modularite !
Alors je suis a la recherche de conseils pour introduire un peu d'OOP
dedans, et petit a petit transformer le code entierement en C++.
Comment dois-je m'y prendre ?
voila je debute en C depuis 2 mois et je dois modifier un code (30000
lignes, ce qui est gros pour moi !) ecrit dans ce language.
J ai deja fait quelques modifs, mais la facon dont est ecrit ce code me
rend dingue : pas un gramme de modularite !
Alors je suis a la recherche de conseils pour introduire un peu d'OOP
dedans, et petit a petit transformer le code entierement en C++.
Comment dois-je m'y prendre ?
voila je debute en C depuis 2 mois et je dois modifier un code (30000
lignes, ce qui est gros pour moi !) ecrit dans ce language.
J ai deja fait quelques modifs, mais la facon dont est ecrit ce code me
rend dingue : pas un gramme de modularite !
Alors je suis a la recherche de conseils pour introduire un peu d'OOP
dedans, et petit a petit transformer le code entierement en C++.
Comment dois-je m'y prendre ?
voila je debute en C depuis 2 mois et je dois modifier un code (30000
lignes, ce qui est gros pour moi !) ecrit dans ce language.
Tu débutes en C ? Mais quelle est ta connaissance de C++ ?
J ai deja fait quelques modifs, mais la facon dont est ecrit ce code me
rend dingue : pas un gramme de modularite !
Alors je suis a la recherche de conseils pour introduire un peu d'OOP
dedans, et petit a petit transformer le code entierement en C++.
Comment dois-je m'y prendre ?
Est-ce que cela en vaut le coup ?
Cela dépend beaucoup des modifs que tu as à faire du le code.
Remplacer des printf par des cout comme le disait un autre
contributeur est dangeueux, car comme ils ne partagent
pas les même buffer, l'ordre des écritures n'est pas garantit.
Tu peux toujours, pour chaque structure X, identifier les
fonctions qui n'ont qu'un paramètre de type X* ou X et en
faire des fonctions membres. Mais cela demande de modifier
tous les appels...
L'introduction du const implique aussi de tels changements
un peu partout.
La première chose à faire serait AMHA d'imaginer que chaque
struct est une classe et de tenter de faire le diagramme
de classe, de formaliser les relations.
Mais bon, je dis ça pour lancer le débat car pas grand monde
n'a répondu, mais ma seule tentative de reprise de code
a été à ce jour un échec.
Marc Boyer
voila je debute en C depuis 2 mois et je dois modifier un code (30000
lignes, ce qui est gros pour moi !) ecrit dans ce language.
Tu débutes en C ? Mais quelle est ta connaissance de C++ ?
J ai deja fait quelques modifs, mais la facon dont est ecrit ce code me
rend dingue : pas un gramme de modularite !
Alors je suis a la recherche de conseils pour introduire un peu d'OOP
dedans, et petit a petit transformer le code entierement en C++.
Comment dois-je m'y prendre ?
Est-ce que cela en vaut le coup ?
Cela dépend beaucoup des modifs que tu as à faire du le code.
Remplacer des printf par des cout comme le disait un autre
contributeur est dangeueux, car comme ils ne partagent
pas les même buffer, l'ordre des écritures n'est pas garantit.
Tu peux toujours, pour chaque structure X, identifier les
fonctions qui n'ont qu'un paramètre de type X* ou X et en
faire des fonctions membres. Mais cela demande de modifier
tous les appels...
L'introduction du const implique aussi de tels changements
un peu partout.
La première chose à faire serait AMHA d'imaginer que chaque
struct est une classe et de tenter de faire le diagramme
de classe, de formaliser les relations.
Mais bon, je dis ça pour lancer le débat car pas grand monde
n'a répondu, mais ma seule tentative de reprise de code
a été à ce jour un échec.
Marc Boyer
voila je debute en C depuis 2 mois et je dois modifier un code (30000
lignes, ce qui est gros pour moi !) ecrit dans ce language.
Tu débutes en C ? Mais quelle est ta connaissance de C++ ?
J ai deja fait quelques modifs, mais la facon dont est ecrit ce code me
rend dingue : pas un gramme de modularite !
Alors je suis a la recherche de conseils pour introduire un peu d'OOP
dedans, et petit a petit transformer le code entierement en C++.
Comment dois-je m'y prendre ?
Est-ce que cela en vaut le coup ?
Cela dépend beaucoup des modifs que tu as à faire du le code.
Remplacer des printf par des cout comme le disait un autre
contributeur est dangeueux, car comme ils ne partagent
pas les même buffer, l'ordre des écritures n'est pas garantit.
Tu peux toujours, pour chaque structure X, identifier les
fonctions qui n'ont qu'un paramètre de type X* ou X et en
faire des fonctions membres. Mais cela demande de modifier
tous les appels...
L'introduction du const implique aussi de tels changements
un peu partout.
La première chose à faire serait AMHA d'imaginer que chaque
struct est une classe et de tenter de faire le diagramme
de classe, de formaliser les relations.
Mais bon, je dis ça pour lancer le débat car pas grand monde
n'a répondu, mais ma seule tentative de reprise de code
a été à ce jour un échec.
Marc Boyer
Marc Boyer wrote:voila je debute en C depuis 2 mois et je dois modifier un code (30000
lignes, ce qui est gros pour moi !) ecrit dans ce language.
Tu débutes en C ? Mais quelle est ta connaissance de C++ ?
Mes connaissances en C++ se limitent a celles que je viens d'acquerir
en C ! Celles en OOP se limitent a celles du disponibles en fortran,
plus ce que j ai pu lire sur le sujet.
J ai pas mal d experience en fortran, et j y mets autant de OOP que
possible.
Difficile de s en passer maintenant !
J ai deja fait quelques modifs, mais la facon dont est ecrit ce code me
rend dingue : pas un gramme de modularite !
Alors je suis a la recherche de conseils pour introduire un peu d'OOP
dedans, et petit a petit transformer le code entierement en C++.
Comment dois-je m'y prendre ?
Est-ce que cela en vaut le coup ?
Cela dépend beaucoup des modifs que tu as à faire du le code.
Peut etre que ca ne vaut pas le coup, je ne connais pas encore assez
bien ni le code, ni le C++ pour en etre certain.
Mais d une part je suis curieux d apprendre le C++ et des concepts OOP
plus pousses que ceux du fortran actuel :-).
D autre part les premieres modifs que je dois faire me semblent
correspondre a ce que peut faire le C++.
Ce code traite, entre autre, de particules, ils a etait ecrit avec des
particules spheriques, et je dois faire en sorte qu il puisse traiter a
priori n importe quel type de particules.
Cela me fait penser a un exemple que j ai lu sur le C++, ou une classe
"forme" est capable de gerer differents objets de type "cercle",
"carre", etc ...
Remplacer des printf par des cout comme le disait un autre
contributeur est dangeueux, car comme ils ne partagent
pas les même buffer, l'ordre des écritures n'est pas garantit.
Tu peux toujours, pour chaque structure X, identifier les
fonctions qui n'ont qu'un paramètre de type X* ou X et en
faire des fonctions membres. Mais cela demande de modifier
tous les appels...
L'introduction du const implique aussi de tels changements
un peu partout.
C est ce que j ai essayer de faire jusque la.
Le code est constitue d une douzaine de fichiers, pouvant faire 5000
lignes !
Au debut j ai commence a simplement ajouter les modifs tellequelles, ca
m a vite pris la tete de suivre chaque appel d un fichier a l autre et
meme de me perdre dans un seul fichier !
J ai alors decoupe les choses que je changes par objet, rajoute du
static aux fonctions locales, du const aux variables passees a ne pas
modifier.
La première chose à faire serait AMHA d'imaginer que chaque
struct est une classe et de tenter de faire le diagramme
de classe, de formaliser les relations.
Mais bon, je dis ça pour lancer le débat car pas grand monde
n'a répondu, mais ma seule tentative de reprise de code
a été à ce jour un échec.
En fait, la question que je me pose est de savoir s il est possible de
mixer du C et C++ ? Par exemple, est il possible d utiliser l appel par
reference a la sauce C++ depuis du C ? Et plein d autres questions ...
Est ce que je dois renomer tout les fichiers en .cpp ?
Marc Boyer wrote:
voila je debute en C depuis 2 mois et je dois modifier un code (30000
lignes, ce qui est gros pour moi !) ecrit dans ce language.
Tu débutes en C ? Mais quelle est ta connaissance de C++ ?
Mes connaissances en C++ se limitent a celles que je viens d'acquerir
en C ! Celles en OOP se limitent a celles du disponibles en fortran,
plus ce que j ai pu lire sur le sujet.
J ai pas mal d experience en fortran, et j y mets autant de OOP que
possible.
Difficile de s en passer maintenant !
J ai deja fait quelques modifs, mais la facon dont est ecrit ce code me
rend dingue : pas un gramme de modularite !
Alors je suis a la recherche de conseils pour introduire un peu d'OOP
dedans, et petit a petit transformer le code entierement en C++.
Comment dois-je m'y prendre ?
Est-ce que cela en vaut le coup ?
Cela dépend beaucoup des modifs que tu as à faire du le code.
Peut etre que ca ne vaut pas le coup, je ne connais pas encore assez
bien ni le code, ni le C++ pour en etre certain.
Mais d une part je suis curieux d apprendre le C++ et des concepts OOP
plus pousses que ceux du fortran actuel :-).
D autre part les premieres modifs que je dois faire me semblent
correspondre a ce que peut faire le C++.
Ce code traite, entre autre, de particules, ils a etait ecrit avec des
particules spheriques, et je dois faire en sorte qu il puisse traiter a
priori n importe quel type de particules.
Cela me fait penser a un exemple que j ai lu sur le C++, ou une classe
"forme" est capable de gerer differents objets de type "cercle",
"carre", etc ...
Remplacer des printf par des cout comme le disait un autre
contributeur est dangeueux, car comme ils ne partagent
pas les même buffer, l'ordre des écritures n'est pas garantit.
Tu peux toujours, pour chaque structure X, identifier les
fonctions qui n'ont qu'un paramètre de type X* ou X et en
faire des fonctions membres. Mais cela demande de modifier
tous les appels...
L'introduction du const implique aussi de tels changements
un peu partout.
C est ce que j ai essayer de faire jusque la.
Le code est constitue d une douzaine de fichiers, pouvant faire 5000
lignes !
Au debut j ai commence a simplement ajouter les modifs tellequelles, ca
m a vite pris la tete de suivre chaque appel d un fichier a l autre et
meme de me perdre dans un seul fichier !
J ai alors decoupe les choses que je changes par objet, rajoute du
static aux fonctions locales, du const aux variables passees a ne pas
modifier.
La première chose à faire serait AMHA d'imaginer que chaque
struct est une classe et de tenter de faire le diagramme
de classe, de formaliser les relations.
Mais bon, je dis ça pour lancer le débat car pas grand monde
n'a répondu, mais ma seule tentative de reprise de code
a été à ce jour un échec.
En fait, la question que je me pose est de savoir s il est possible de
mixer du C et C++ ? Par exemple, est il possible d utiliser l appel par
reference a la sauce C++ depuis du C ? Et plein d autres questions ...
Est ce que je dois renomer tout les fichiers en .cpp ?
Marc Boyer wrote:voila je debute en C depuis 2 mois et je dois modifier un code (30000
lignes, ce qui est gros pour moi !) ecrit dans ce language.
Tu débutes en C ? Mais quelle est ta connaissance de C++ ?
Mes connaissances en C++ se limitent a celles que je viens d'acquerir
en C ! Celles en OOP se limitent a celles du disponibles en fortran,
plus ce que j ai pu lire sur le sujet.
J ai pas mal d experience en fortran, et j y mets autant de OOP que
possible.
Difficile de s en passer maintenant !
J ai deja fait quelques modifs, mais la facon dont est ecrit ce code me
rend dingue : pas un gramme de modularite !
Alors je suis a la recherche de conseils pour introduire un peu d'OOP
dedans, et petit a petit transformer le code entierement en C++.
Comment dois-je m'y prendre ?
Est-ce que cela en vaut le coup ?
Cela dépend beaucoup des modifs que tu as à faire du le code.
Peut etre que ca ne vaut pas le coup, je ne connais pas encore assez
bien ni le code, ni le C++ pour en etre certain.
Mais d une part je suis curieux d apprendre le C++ et des concepts OOP
plus pousses que ceux du fortran actuel :-).
D autre part les premieres modifs que je dois faire me semblent
correspondre a ce que peut faire le C++.
Ce code traite, entre autre, de particules, ils a etait ecrit avec des
particules spheriques, et je dois faire en sorte qu il puisse traiter a
priori n importe quel type de particules.
Cela me fait penser a un exemple que j ai lu sur le C++, ou une classe
"forme" est capable de gerer differents objets de type "cercle",
"carre", etc ...
Remplacer des printf par des cout comme le disait un autre
contributeur est dangeueux, car comme ils ne partagent
pas les même buffer, l'ordre des écritures n'est pas garantit.
Tu peux toujours, pour chaque structure X, identifier les
fonctions qui n'ont qu'un paramètre de type X* ou X et en
faire des fonctions membres. Mais cela demande de modifier
tous les appels...
L'introduction du const implique aussi de tels changements
un peu partout.
C est ce que j ai essayer de faire jusque la.
Le code est constitue d une douzaine de fichiers, pouvant faire 5000
lignes !
Au debut j ai commence a simplement ajouter les modifs tellequelles, ca
m a vite pris la tete de suivre chaque appel d un fichier a l autre et
meme de me perdre dans un seul fichier !
J ai alors decoupe les choses que je changes par objet, rajoute du
static aux fonctions locales, du const aux variables passees a ne pas
modifier.
La première chose à faire serait AMHA d'imaginer que chaque
struct est une classe et de tenter de faire le diagramme
de classe, de formaliser les relations.
Mais bon, je dis ça pour lancer le débat car pas grand monde
n'a répondu, mais ma seule tentative de reprise de code
a été à ce jour un échec.
En fait, la question que je me pose est de savoir s il est possible de
mixer du C et C++ ? Par exemple, est il possible d utiliser l appel par
reference a la sauce C++ depuis du C ? Et plein d autres questions ...
Est ce que je dois renomer tout les fichiers en .cpp ?
En fait, la question que je me pose est de savoir s il est possible de
mixer du C et C++ ? Par exemple, est il possible d utiliser l appel par
reference a la sauce C++ depuis du C ? Et plein d autres questions ...
Oui et non.
Strictement parlant, C et C++ sont deux langages différents.
Un code C se compile avec un compilateur C, un code C++ se
compile avec un compilateur C++, et il existe en C++ le 'extern "C"',
qui permet d'appeler depuis du C du code C++ et inversement.
En pratique, 99% du code C raisonnable écrit compile aussi
bien en C++ et donne le même résultat. Mais si tu tombes sur
le 1%, tu as du mal.
De nombreux programmeurs C font aussi compiler leur code
C par le compilo C *et* par le compilo C++ parce qu'ils le
considèrent comme plus tatillon, pour détecter le plus de code
suspect. Mais le code exécutable est généré par le compilo C.
Ma référence sur le sujet, c'est le 'Harbison & Steele', qui
est un bouquin de C qui liste en fin de chaque chapitre
les parties de C qui ne sont pas du C++.
Est ce que je dois renomer tout les fichiers en .cpp ?
Ca forcera ton compilo (VC ?) à considérer le code C comme
du code C++.
En fait, la question que je me pose est de savoir s il est possible de
mixer du C et C++ ? Par exemple, est il possible d utiliser l appel par
reference a la sauce C++ depuis du C ? Et plein d autres questions ...
Oui et non.
Strictement parlant, C et C++ sont deux langages différents.
Un code C se compile avec un compilateur C, un code C++ se
compile avec un compilateur C++, et il existe en C++ le 'extern "C"',
qui permet d'appeler depuis du C du code C++ et inversement.
En pratique, 99% du code C raisonnable écrit compile aussi
bien en C++ et donne le même résultat. Mais si tu tombes sur
le 1%, tu as du mal.
De nombreux programmeurs C font aussi compiler leur code
C par le compilo C *et* par le compilo C++ parce qu'ils le
considèrent comme plus tatillon, pour détecter le plus de code
suspect. Mais le code exécutable est généré par le compilo C.
Ma référence sur le sujet, c'est le 'Harbison & Steele', qui
est un bouquin de C qui liste en fin de chaque chapitre
les parties de C qui ne sont pas du C++.
Est ce que je dois renomer tout les fichiers en .cpp ?
Ca forcera ton compilo (VC ?) à considérer le code C comme
du code C++.
En fait, la question que je me pose est de savoir s il est possible de
mixer du C et C++ ? Par exemple, est il possible d utiliser l appel par
reference a la sauce C++ depuis du C ? Et plein d autres questions ...
Oui et non.
Strictement parlant, C et C++ sont deux langages différents.
Un code C se compile avec un compilateur C, un code C++ se
compile avec un compilateur C++, et il existe en C++ le 'extern "C"',
qui permet d'appeler depuis du C du code C++ et inversement.
En pratique, 99% du code C raisonnable écrit compile aussi
bien en C++ et donne le même résultat. Mais si tu tombes sur
le 1%, tu as du mal.
De nombreux programmeurs C font aussi compiler leur code
C par le compilo C *et* par le compilo C++ parce qu'ils le
considèrent comme plus tatillon, pour détecter le plus de code
suspect. Mais le code exécutable est généré par le compilo C.
Ma référence sur le sujet, c'est le 'Harbison & Steele', qui
est un bouquin de C qui liste en fin de chaque chapitre
les parties de C qui ne sont pas du C++.
Est ce que je dois renomer tout les fichiers en .cpp ?
Ca forcera ton compilo (VC ?) à considérer le code C comme
du code C++.
En pratique, 99% du code C raisonnable écrit compile aussi
bien en C++ et donne le même résultat. Mais si tu tombes sur
le 1%, tu as du mal.
De nombreux programmeurs C font aussi compiler leur code
C par le compilo C *et* par le compilo C++ parce qu'ils le
considèrent comme plus tatillon, pour détecter le plus de code
suspect. Mais le code exécutable est généré par le compilo C.
Ma référence sur le sujet, c'est le 'Harbison & Steele', qui
est un bouquin de C qui liste en fin de chaque chapitre
les parties de C qui ne sont pas du C++.
Je vais chercher ce bouquin, y a t il une page web qui liste toutes les
differences, voire meme un "guide" du passage C vers C++ ?
Est ce que je dois renomer tout les fichiers en .cpp ?
Ca forcera ton compilo (VC ?) à considérer le code C comme
du code C++.
J utilise ICC et GCC sous linux.
Est ce que tout faire compiler par un compilo C++ et virer le 1%
d'ivraie, serait un bon point de depart ?
En pratique, 99% du code C raisonnable écrit compile aussi
bien en C++ et donne le même résultat. Mais si tu tombes sur
le 1%, tu as du mal.
De nombreux programmeurs C font aussi compiler leur code
C par le compilo C *et* par le compilo C++ parce qu'ils le
considèrent comme plus tatillon, pour détecter le plus de code
suspect. Mais le code exécutable est généré par le compilo C.
Ma référence sur le sujet, c'est le 'Harbison & Steele', qui
est un bouquin de C qui liste en fin de chaque chapitre
les parties de C qui ne sont pas du C++.
Je vais chercher ce bouquin, y a t il une page web qui liste toutes les
differences, voire meme un "guide" du passage C vers C++ ?
Est ce que je dois renomer tout les fichiers en .cpp ?
Ca forcera ton compilo (VC ?) à considérer le code C comme
du code C++.
J utilise ICC et GCC sous linux.
Est ce que tout faire compiler par un compilo C++ et virer le 1%
d'ivraie, serait un bon point de depart ?
En pratique, 99% du code C raisonnable écrit compile aussi
bien en C++ et donne le même résultat. Mais si tu tombes sur
le 1%, tu as du mal.
De nombreux programmeurs C font aussi compiler leur code
C par le compilo C *et* par le compilo C++ parce qu'ils le
considèrent comme plus tatillon, pour détecter le plus de code
suspect. Mais le code exécutable est généré par le compilo C.
Ma référence sur le sujet, c'est le 'Harbison & Steele', qui
est un bouquin de C qui liste en fin de chaque chapitre
les parties de C qui ne sont pas du C++.
Je vais chercher ce bouquin, y a t il une page web qui liste toutes les
differences, voire meme un "guide" du passage C vers C++ ?
Est ce que je dois renomer tout les fichiers en .cpp ?
Ca forcera ton compilo (VC ?) à considérer le code C comme
du code C++.
J utilise ICC et GCC sous linux.
Est ce que tout faire compiler par un compilo C++ et virer le 1%
d'ivraie, serait un bon point de depart ?
Je n'en connais pas. Vu la popularite du sujet, je pense
qu'il doit y en avoir pleins. Mais combien de bonnes ?
Je n'en connais pas. Vu la popularite du sujet, je pense
qu'il doit y en avoir pleins. Mais combien de bonnes ?
Je n'en connais pas. Vu la popularite du sujet, je pense
qu'il doit y en avoir pleins. Mais combien de bonnes ?