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

C++ Discussion :

[Mozilla][C][Portabilité] new de c++


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Par défaut [Mozilla][C][Portabilité] new de c++
    Salut à tous

    En train de développer une extension pour firefox (en c++ donc), je suis tombé sur le guide de portabilité pour mozilla. Dans celui-ci il y a qqch que je ne comprend pas très bien :
    Don't use C++ standard library features, including iostream

    Using C++ standard library features involves significant portability problems because newer compilers require the use of namespaces and of headers without .h, whereas older compilers require the opposite. This includes iostream features, such as cin and cout.

    Furthermore, using the C++ standard library imposes difficulties on those attempting to use Mozilla on small devices.

    There is one exception to this rule: it is acceptable to use placement new. To use it, include the standard header <new> by writing #include NEW_H.
    je comprend pas ce que c'est que l'inclusion de ce NEW_H qui n'existe pas. Si je fait un #include <New> cela fonctionne mais il semble que ce n'est pas ca qui est défini... Pouvez-vous m'indiquer la voie à suivre ?

    merci d'avance !

    @++

  2. #2
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut Re: [Mozilla][C][Portabilité] new de c++
    Citation Envoyé par thecaptain
    There is one exception to this rule: it is acceptable to use placement new. To use it, include the standard header <new> by writing #include NEW_H.
    je comprend pas ce que c'est que l'inclusion de ce NEW_H qui n'existe pas. Si je fait un #include <New> cela fonctionne mais il semble que ce n'est pas ca qui est défini... Pouvez-vous m'indiquer la voie à suivre ?
    Je me demande quand ils reviseront leurs regles... Bon ce n'est pas tellement l'objet de ta question.

    Je suppose que NEW_H est une macro qu'ils definissent quelque part a <new> ou <new.h> suivant le compilateur.

    Au fait, n'utilise pas des noms avec des majuscules pour les entetes standards, tu auras des problemes avec les systemes de fichiers qui font la difference.

  3. #3
    Membre chevronné Avatar de xxiemeciel
    Inscrit en
    Juin 2005
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 371
    Par défaut
    Salut,

    je croyais que la STL était standard et fonctionnait sur toutes les plateformes ?

    XXiemeciel

  4. #4
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par xxiemeciel
    je croyais que la STL était standard et fonctionnait sur toutes les plateformes ?
    Ces regles ont vraissemblablement ete ecrite avant la normalisation, ou peu de temps apres. Plus le temps a passe, moins elles sont devenues pertinentes. D'ou ma suggestion de les revister.

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 394
    Par défaut
    Qu'il existe une norme n'implique pas nécessairement que tous les compilateurs la suivent. La politique de mozilla était (est toujours ?) de rester compatible avec des plate-formes ou les outils évoluent moins vite, voir n'évoluent plus du tout, que sous Linux/Windows.

  6. #6
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par xxiemeciel
    je croyais que la STL était standard et fonctionnait sur toutes les plateformes ?
    La STL l'est, mais toutes ses implémentations ne le sont pas...
    http://c.developpez.com/faq/cpp/?pag..._commencer_cpp

  7. #7
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par VoidSeer
    Qu'il existe une norme n'implique pas nécessairement que tous les compilateurs la suivent. La politique de mozilla était (est toujours ?) de rester compatible avec des plate-formes ou les outils évoluent moins vite, voir n'évoluent plus du tout, que sous Linux/Windows.
    La derniere entree dans leur historique des revisions est datee de fevrier 2001 et le coeur a l'air d'avoir ete ecrit avant mars 1998 -- avant la publication de la norme; des conseils qui etaient pertinents a l'epoque ne le sont pas necessairement encore. Pour pretendre que cette liste a un interet autre qu'historique, il faudrait la revisiter et au strict minimum donner des justifications considerant l'etat actuel des choses.

Discussions similaires

  1. [Cookies] PHPSESSID portabilité mozilla / IE
    Par emilek dans le forum Langage
    Réponses: 1
    Dernier message: 12/11/2007, 11h19
  2. Réponses: 11
    Dernier message: 17/03/2003, 10h56
  3. Bug new build ??
    Par rgarnier dans le forum XMLRAD
    Réponses: 4
    Dernier message: 31/01/2003, 10h30
  4. [] Insérer DE et Datareport existant ds new projet
    Par khany dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 10/01/2003, 09h52
  5. portabilité et BDD
    Par delire8 dans le forum C++Builder
    Réponses: 7
    Dernier message: 04/07/2002, 10h59

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