IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage C++ Discussion :

Vieux codes C++


Sujet :

Langage C++

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 265
    Par défaut Vieux codes C++
    Bonjour,
    Ce sont des vieux codes fait entre 1994 et 1997.
    Comme je suis plutôt débutant, j'aimerais avoir vos opinions sur l'utilité du code, ce qu'il fait, la signification de ObjSys par exemple...
    Avis aux masters...
    thx




    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    DKKString::DKKString(PSTRZ szFromString) : DKKObject(DKKOBJECT(DKKString))
    {
        DKKObject::Initialized();
    	nSize=0; pszString=NULL;
        // PD19990107 - PROMODES
        if (szFromString)
        {
        	nLen=strlen(szFromString);
            Size(nLen+1);
            strcpy(pszString, szFromString);
        }
        else
        {
            nLen=0; Size(nLen+1);
        }
        bMakeWords=false;	// PD20010112
        bPersistent=false;  // PD20011014
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    DKKObject::DKKObject(PSTRZ pszNewType, INT nSize)
    {
        objSys.EnterCritical();
        nDKKObjects++;
        objSys.LeaveCritical();
    	memset((PCHAR)this, ZERO, nSize);
    	pszObjType=pszNewType;
    };

  2. #2
    Membre Expert Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Par défaut
    Soit il manque des lignes de code pertinantes, soit y'a un souci !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	nSize=0; pszString=NULL;
        ....
            strcpy(pszString, szFromString);
    Ca sent le beau plantage, non ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    memset((PCHAR)this, ZERO, nSize);
    1ere fois que je vois ça !!!

    objSys doit être déclaré quelque part dans un .h.

  3. #3
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par défaut
    Citation Envoyé par fregolo52 Voir le message
    Soit il manque des lignes de code pertinantes, soit y'a un souci !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	nSize=0; pszString=NULL;
        ....
            strcpy(pszString, szFromString);
    Ca sent le beau plantage, non ?
    Entre temps, il y a un appel à la méthode Size(), qui doit certainement allouer la mémoire.

    Citation Envoyé par fregolo52 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    memset((PCHAR)this, ZERO, nSize);
    1ere fois que je vois ça !!!
    Ca, effectivement, c'est une véritable horreur. D'autant plus que le fait qu'on utilise l'héitage tendrait à montrer qu'il y a, quelque part, une notion d'objet polymorphique avec probablement une table de fonction virtuelle. Donc ce code va nécessairement faire planter le programme, car la table des fonctions virtuelles va pointer sur NULL au lieu des méthodes véritables.

    Citation Envoyé par fregolo52 Voir le message
    objSys doit être déclaré quelque part dans un .h.
    Je dirais même plus : il s'agit d'un objet dont le but est de proposer une interface avec le système d'exploitation (ici, l'utilisation de sections critiques pour rendre le code "atomique").

    Pour répondre à la question première, je dirais : non. Le standard fournit une classe std::string qui propose tous les services dont tu as besoin pour gérer des chaines de caractère. Inutile de venir l'ennuyer avec du code prédatant le standard qui est visiblement perclus de bugs.
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 265
    Par défaut
    Merci pour vos impressions à vous deux

Discussions similaires

  1. Archives de code en BASIC de vieux jeux Atari
    Par geektoo dans le forum Projets
    Réponses: 2
    Dernier message: 16/02/2015, 13h57
  2. [MySQL] adapter un vieux code avec magic_quote_rpc
    Par markham dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 23/05/2014, 18h23
  3. comment migrer/convertir du vieux code php3/4 en php5
    Par clavier12AZQSWX dans le forum Langage
    Réponses: 1
    Dernier message: 21/05/2010, 20h34
  4. vieux code qui utilise session_register
    Par ulissse dans le forum Langage
    Réponses: 1
    Dernier message: 24/03/2010, 15h57
  5. [Outils] Comment transformer du vieux code VB en .Net ?
    Par linux dans le forum EDI/Outils
    Réponses: 10
    Dernier message: 17/02/2006, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo