Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » [C++] Bibliothèque Standard (STL)
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

[C++] Bibliothèque Standard (STL)

Posté le 03/06/2014 18:25

Tout est dans le titre, ou presque.
Comme vous le savez sûrement, le SDK ne supporte pas la bibliothèque standard du C++. Or comme elle est nécessaire à beaucoup de programmes, elle constitue un manque non négligeable.
Je ne sais pas exactement combien il y a de programmeurs C++ sur le site, aussi je ne peux savoir si cela sera réalisable, ni utile, mais je propose de recréer certaines parties importantes de la STL pour que nous puissions nous en servir en sachant que le code sera fiable.
Je sais qu'il existe un header "string" pour le SDK, mais comme le support et incomplet et que je n'ai pas trop confiance en le code du SDK...
Je voudrais donc savoir qui serait partant pour tenter, d'abord de constituer une "liste" de ce qui nous serait utile, puis de le réaliser ?

Voilà, et en espérant que nous arriverons à réaliser ça.


Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 03/06/2014 18:26 | #


Moi je ne fait pas encore de C++ donc je vois pas trop de quoi tu parles
Mais si c'est les mêmes qu'en C alors je comprends que ça constitue un sacré manque
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 03/06/2014 18:30 | #


A mon avis, il faudrait les strings et les vectors. Tout ce qui est map deque stack ou list ne sont pas forcément utile pour la programmation de JV, même si cela pourrait être utile par la suite, après avoir fait les indispensable.
En tout cas, tu dispose de mon soutien (et vive le C++ )
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Citer : Posté le 03/06/2014 22:30 | #


Hmmm, faudra faire gaffe, n'ayant que peu de mémoire disponible pour les allocations dynamiques (new and co), faudra s'en servir avec parcimonie.
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 04/06/2014 09:21 | #


Justement, à nous de créer des classes stables.
J'ai pensé à une manière de bosser qui nous permettrait d'obtenir un code optimal, mais il faudrait au moins 3-4 programmeurs... si vous êtes franchement intéressé, signalez-le.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Citer : Posté le 04/06/2014 09:41 | #


Lephenixnoir a écrit :
Justement, à nous de créer des classes stables.
J'ai pensé à une manière de bosser qui nous permettrait d'obtenir un code optimal, mais il faudrait au moins 3-4 programmeurs... si vous êtes franchement intéressé, signalez-le.


Je parle pas des classes mais de leur utilisation, faudrait que je voie combien pèse un objet alloué pèse. Imagine que t'as une Linked List. C'est marrant, c'est pratique mais si pour un objet alloué il prend genre 50 octets, ça paraît pas grand chose mais une saturation de la mémoire est vite possible autant par la récursivité qui explose la stack que par un out of memory.

(Je tiens à rappeler qu'une variable déclarée normalement (pas de m/c/re/alloc ni de new) dans un bloc est détruit à la sortie de celui-ci, même si son adresse a été stockée quelque part.). Il me semble qu'un objet est toujours déclaré dynamiquement aussi.
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 04/06/2014 09:49 | #


C'est probable qu'un objet soit toujours alloué dynamiquement.
Mais je ne comprends pas pourquoi tu crains des dépassements de mémoire. Pourquoi en aurait-on plus qu'en utilisant des classes "standard" ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Citer : Posté le 04/06/2014 09:53 | #


Lephenixnoir a écrit :
C'est probable qu'un objet soit toujours alloué dynamiquement.
Mais je ne comprends pas pourquoi tu crains des dépassements de mémoire. Pourquoi en aurait-on plus qu'en utilisant des classes "standard" ?


Cela encouragerait l'utilisation "abusive" des conteneurs et des objets. Après, il est probable que je me trompe, mais bon, jusqu'à présent, j'ai pas vu de C++ sur les Ti-8x et elles ont une mémoire bien moindre que les Casios, c'est pourquoi je m'inquiète un peu pour un tel projet. Je en t'empêche pas, si ça a l'air fun alors tant mieux et lance toi! Un peu de standard pour ces machines serait pas mal.
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 04/06/2014 09:54 | #


Ben, je m'inquiète surtout de l'absence des vector et des string.
Qui peut prétendre ne jamais en avoir manqué, codant en C++ ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Citer : Posté le 04/06/2014 09:55 | #


Point taken.
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 04/06/2014 14:45 | #


Sachant que je reste fidèle à ce cher C, je ne pourrais pas t'aider sur ce point là
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Citer : Posté le 04/06/2014 14:49 | #


Moi itou, le reste la référence. Il n'y a qu'à la voir en quel langage le kernel nunux est compilé! :3
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 04/06/2014 14:51 | #


j'aime bien les deux, moins le java
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 04/06/2014 17:32 | #


Je préfère coder en C, mon langage de prédilection. Mais quand je code en C++, par nécessité je manque toujours des string et des vector, et c'est surtout ce que je voudrais reproduire.
Et si je le fais, autant que ça serve aux autre qui voudraient s'en servir, mais pour ça il vaut mieux bosser à plusieurs, car le code doit être irréprochable.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 10/09/2014 18:39 | #


Je suis avec toi pour ce projet

Mais pour le moment, je suis pas mal pris par le temps, je fais le coucours et la finition de la V2 du sdkolor et je te suis (donc dans environ 3-4 mois )
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 10/09/2014 18:51 | #


J'ai surtout suggéré l'idée pour que si quelqu'un veuille se lancer dedans, on ait un point de départ.
De toute façon, il faudra d'abord finir la libc si on veut une libcxx/libstdc++.

Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 111 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd