Vous n'êtes pas identifié.
Voila, il m'est venu une idée, il faudrais faire une méga librairie facile a utiliser et a compiler :
La Libg100 !
Elle inclus Db-Lib (Désolé mais je l'ai découpée en differents fichiers objets pour que ça soit plus clair : screen.h keyboard.h calc et dbpaint.h) gxlib10 (sans retouches) et drawlib
J'avais prévu de mettre glink mais c'est compliqué car fait pour turboC, et en C++, il faut que je travaille dessus pour le faire compiler uniformément et en C sur les 2 compilateurs !
C'est une vrai librairie pré-compilée pour Digital Mars et Turbo C++ 3 (autres a venir selon les désires des programmeurs)
C'est trés simple a utiliser :
vous faites votre prog en C (j'ai pris pxl.c de db-lib)
vous incluez le .h qui correspond a ce que vous voulez faire : screen.h dbpaint.h et keyboard.h
votre code dans le main()
et vous compilez (en mettant soit dmcg100.lib et/ou tccg100.lib) par exemple:
Tc : tcc -1 -mt pxl.c tccg100.lib -epxl.exe
ou dm : dmc -2 -ms -Nc pxl.c dmcg100.lib -opxl.exe
voila !!!!
Je voudrais savoir la façon que vous voulez que le lib soit distribuée, j'ai dans l'idée de créer un projet sur sf.net car je voudrais plus tard faire une extension en c++, enfin c'est déja bien !!
Hors ligne
bah moi ca me parait bien kom idee mais bon fo pouvoir la mettre a jour regulierement. pk un racisme c++ ?
racisme c++ ?
C'est une librairie C, on ne peut pas mélanger du c++ et du C !!
(enfin si mais c'e'st compliqué au niveau de l'utilisateur car le code contient des fonctions ayant le même nom mais pas le même profil ce qui est interdit en C !)
Hors ligne
Voila j'ai reussi a compiler toute les sources sur les 2 compilos, ainsi que GLink (seulement port_comm.h pour l'instant)
Télécharger :
[RAR] libg100.rar - vbêta - 87k
Regardez la doc générée par doxygen, ainsi que le petit exemple fait avec les script NT que mastermage avais fait
build.cmd et compile.cmd (je pense qu'il avais fait que compile.cmd, j'ai modifié pour pouvoir créer des objets)
Hors ligne
Dans cette lib, j'utilise énormément le makefile et les fichiers objets, 2 grands principes pour programmer proprement !
Makefile:
Un peu comme un script mais on va pouvoir définir des actions et leur dépendance, ex :
repas: vaisselle courses faire cuire les pates vaisselle: éponge liquide_vaisselle frotter la vaisselle avec le liquide vaisselle et rincer courses: magasin_ouvert voiture argent prendre la voiture et acheter des trucs ...
ici on fera "make repas" et si il faut faire la vaisselle, il la lancera et si il faut faire les courses il le fera !
Donc on peut automatiser des taches !!!
Fichiers objets:
Pour compiler un prog il y a 2 étapes :
Convertion en code machine et linkage
Nous avons longtemps travaillé en mettant en bloc tout le code dans le même fichier (le fait de mettre le code dans le .h revenais a le mettre dans le fichier apres la pré-compilation), mais le vrai principe est de créer des fichiers .c (ou .cpp) contenant le code des fonctions (ou classes) et de compiler ce fichier en fichier objet (juste avant le likage)
De ce fait nous faisons un fichier.h qui contiens les déclarations des fonction pour pouvoir utiliser ces fonctions dans un autre fichier .c (ou .cpp)
Donc il suffit de compiler tout séparemment et ensuite de tout rassembler (linker) pour dréer l'executable final!
Il y a de nombreux avantages dont le fait de pouvoir précompiler le code, de le distribuer, de pourvoir montrer que 2 fonction mais en cacher d'autres, enfin beaucoup de choses !!
Je vous conseille de procéder comme suit :
Faire un fichier main.c qui compilera en mail.obj
un autre fts.c et fts.h (qui sera inclus dans main.c) qui compilera en fts.obj
ensuite compiler main.obj et fts.obj ensemble !!
C'est propre et bien présenté !
Hors ligne
Salut a tous !!!
putain ca faisait longtemps que j'avais pas posté ici...logique vu que je fais mes études a poitiers et ke g pas internet...
bref, c nikel de tous rassembler, comme ca celui qui télécarge ca a tout, et peux tout faire!
oué ct juste pour dire que la version que db-lib que tu as mis superna est assez vieille, avec des fonctions pourries comme les fonctions scroll...sur la team g100 ya la nouvelle version
a la prochaine...je vais vite jeter un oeil sur toiute sles new et tester les nouveaux progs
Hors ligne
Ha la voila enfin ça a été vite superna depuis le moment où tu me l'a dit
Enfin ttes les fonctions réunies ensembles.....
Hors ligne
Oui c'est pas mal comme idée de proposer une collection avec toutes les fonctions utiles...
Par contre je me dis que pour les mises à jours ca risque de pas être facile vu qu'il faudra actualiser le truc à chaque fois que quelqu'un fait une nouvelle version d'un des composants...
Et puis superna, il me semble que les memzones y ont leur place aussi
En attendant, je trouve ca "dommage" d'encourager les librairies C parce que ca ne peut pas inclure tout ce qui est en cpp... Et honnêtement, je pense que le cpp permettrait bcp plus de trucs et qu'il faudrait pousser les gens à s'y mettre (y compris les enragés du C )
Hors ligne
pourquoi pas faire une de chaque ??
ca prends plus de temps, mais au moins ca ravit tout le monde...
Hors ligne
justement l'intérêt c'est que t'as plein de libs séparées dans une seule :mrgreen:
Sinon Julien, le c++ moi ça me fait peur.
Si c'est vrai.
Faudra bien que je m'y mette un jour, mais en attendant je suis dépassé par les évènements
Y'a qu'à voir les tests de 64 niveaux de gris d'un affolé sur le ucn
Hors ligne
siomax"]
Y'a qu'à voir les tests de 64 niveaux de gris d'un affolé sur le ucn
Mouais attends, c'est encore loin d'être utilisable pour autre chose que pour des bmp si tu veux mon avis
Hors ligne
en tt cas superna en a prévu une pour le cpp je le sai il me l'a dit lol
réjouis-toi julien !
Hors ligne
Pour les maj, pas de problemes, ya que la db-lib qui a été scindée, la dxlib et drawlib sont intactes (sauf le header ou j'ai mis des commentaires pour doxygen)
Pour la memzones, oui elle a sa place, mais il faut que 2072 me donne l'autorisation de la distribuer dans la libg100 !
Et puis pour le C++ pas de panique, j'y ai pensé !
Il suffit de faire une librairie supplémentaire (une sucouche si vous voulez) avec des classes qui vont gérer toutes seuleles l'écran, un buffer automatisé de touches, un gestionnaire de flash.....
Oui le c++ est puissant mais pour des choses comme casiomax fait, c'est parfois le bon vieux C !
Mais c'est en prévision, il faut juste les ecrire !!!
Mais sachez que je pas le seul a faire cette lib, tout le monde peut y participer !!
Hors ligne
ça ça veut dire "Julien,est-ce tu peux y participer?"
Hors ligne
Il suffit de faire une librairie supplémentaire (une sucouche si vous voulez) avec des classes qui vont gérer toutes seuleles l'écran, un buffer automatisé de touches, un gestionnaire de flash.....
Mouais ça pourrait être sympa mais faut qu'on se mette d'accord sur les interfaces pour être sur que ca convienne à tout le monde
Oui le c++ est puissant mais pour des choses comme casiomax fait, c'est parfois le bon vieux C !
gné?!
T'as un exemple?
Hors ligne
moteur 3d, rare sont ceux fait totalement en C++
(a part aujourdhui avec des grosses machines)
enfin c mon avis !
Pour les interfaces, ok, ben fo ke chacun propose ce qu'il voudrait voir comme classes et choses, et on esseira de satisfaire tt le monde
Hors ligne
moteur 3d, rare sont ceux fait totalement en C++
(a part aujourdhui avec des grosses machines)
enfin c mon avis !
J'ai comme dans l'idée qu'il aurait pu obtenir un meilleur résultat en cpp, mais ce n'est que mon avis aussi
Hors ligne
C vs C++ le match est ouvert!
Vous allez pas vous battre tt le monde sait que le C est moins bien que le C++ lui-même moins bien que le JAVA
Je parle au niveau facilitée de programmation bien sur!
Si maintenant vous voulez parler de possibilitée d'agir soi-même sur tout,le C++ est ex-aequo avec le C derrière l'ASM et devant JAVA!
Z'êtes d'accords?
Hors ligne
J'ai comme dans l'idée qu'il aurait pu obtenir un meilleur résultat en cpp, mais ce n'est que mon avis aussi
ah ?
Vas-y dis moi ce que j'aurais gagné en faisant le moteur en cpp
Hors ligne
donc vos conseils, idées !!!
Laissez tomber, c'est sur que je ferais du c++, d'ailleurs je programmerai plus facilement en c++ qu'en C (surtout pour un jeu !!)
Donc bon j'avais l"idée de classes come :
class screen
avec des fonctions comme pxl, sprite, ......
class comm
avec un egestion automatique du port comm, ce qui sera franchment plus simple !
class keyboard
avec dans l'installation, l'installation dans l'int du clavier pour un appel automatique a la classe pour avoir en quelque sorte une "key-pump"
class flash
ou on pourra extraire un octet de la mémoire flash le plus simplement possible !
et pui une class memzone
qui est l'adpatation en c++ des memzones, construc auto d'une memzone, ....
voila koi
puis on peut aussi adapter des genre de cin et cout adaptés a la g100 !
pareil pour le C, on peut refaire des fonctions standart !
Hors ligne
Je ne sais pas si des interfaces "a la java" pour l'écran, le clavier etc seront vraiment nécessaires (et efficaces...); un ensemble de routines devrait être suffisant à mon avis
Par contre je suis partant pour la modélisation d'objets "Memzone", "Timer", eventuellement "Chargeur de fichier" pour RFI et RFL etc!
Hors ligne
c pas mal l'idée de la modélisation, mais fo voir si ca va pas faire augmenter la taille des exe.
Personnellement ca fait déjà longtemps que j'utilise le système de lib pour la G100 mais ca marche uniquement que sous VC++1.5. (1lib GComm, 1 pour Memzone, 1 pour les boite de dialogue et autres et 1 pour le graphik).
Hors ligne
vive les makefiles !
pour les mises a jour de la lib, le mieux est de bien préciser la version dans chaque lib, comme ca on sait direct si c'est la dernière ou pas !
Hors ligne
Le problème si memzone est inclu dans la lib c'est que mes compteurs de download seront fossés... Donc je ne vois qu'une seul alternative: Distribué libG100 sur le File Sharing pour qu'il n'y ait qu'un seul compteur :P
Hors ligne