Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

UNE CLIST 100% COMPATIBLE MFC POUR UNIX...


Information sur la source

Description

Il y a quelques jours, j'ai du faire un portage de mon appli en MFC sous UNIX. Il fallait que cela passe sur 14 plateformes 32 et 64 bits... Pas de bol, une partie du code utilisait a la fois des CString, et des CList, j'ai donc commencé à chercher cela sur le net... J'ai trouvé quelque chose pour les CString, mais rien pour les Clist, Alors il a bien fallu que je le fasse...

J'ai repris quasiment le code des MFC, en modifiant ce qu'il fallait quand il n'y avait pas d'équivalent.

La Clist est un template permettant de définir une liste chainée de  n'importe quelle structure ou classe...
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de DeAtHCrAsH le 01/10/2004 21:15:46

J'ai pas regardé la source mais rien que le titre ne m'inspire rien qui vaille.

Quote: "Un CLIST compatible MFC pour Unix" ?????

Faut que tu nous expliques la.

MFC = Microsoft Foundation Classes.

A ma connaissance, Microsoft n'a pas racheter le pingouin (:

Shell

signaler à un administrateur
Commentaire de Kirua le 02/10/2004 03:15:08

je pense qu'il veut dire que c'est une classe qui permet de compiler un code qui utilise les CList des MFC, car a priori ne devant tourner que sous windows, sous un environnement Unix. tout simplement... de la même manière qu'il y a OpenGL Microsoft, Mesa, et encore un autre là... enfin, c'est juste une implémentation d'exactement la même chose, mais pour un autre environnement.

signaler à un administrateur
Commentaire de FredTachet le 02/10/2004 08:48:22

Bravo Kirua, c'est exactement ce que j'explique dans la description de la source... DeAtHCrash, Il aurait fallu lire un peu plus avant de poser une question ...

J'ai juste "porté" un code de base Microsoft qui est pas mal écrit et très pratique pour qu'il puisse passer sur n'importe quel Compilo...

Il existe des produits pour permettre de porter des applis ecrites pour Windows, mais vu le prix, quand on a besoin que de peu de fonctionnalités, autant refaire.

a+

signaler à un administrateur
Commentaire de coucou747 le 02/10/2004 11:12:39

"A ma connaissance, Microsoft n'a pas racheter le pingouin (:" => Linux est inrachetable, il n'apartient à personne, Torvald n'est pas le seul a avoir mis un copyleft sur le kernel, ils sont une centaine, pour que le noyau soit vendu, il faudrait que chacune de ces personne veuille bien le vendre... c'est une philo et une comunauté plus qu'un tas de programme, ce qui explique la vitesse de dévelopement des projets... (mandrake 10.1 est sorti deux mois après la 10.0... on a des linux en 64 bits, alros que windows, c'est encore une béta... plus de logiciels, ect...)

Moi je penses que c'est bien de faire des trucs portables, ou qui aident a porter, plus on a de choix niveau logiciels, plus on a de chance d'en avoir un de bon.

Bon travail

signaler à un administrateur
Commentaire de Kaid le 02/10/2004 13:44:00

"A ma connaissance, Microsoft n'a pas racheter le pingouin"

>> De plus, Unix ne se limite pas à Linux ...

signaler à un administrateur
Commentaire de plus_plus_fab le 03/10/2004 01:54:30

oui, et mandrake n'est qu'une distribution de Linux  ...
coucou747> Le noyau appartient donc à ceux qui on déposé le copyleft, non ?

Je suis completement pour la portabilité, aussi, n'aurait-il pas été plus simple (et plus sur !) d'adapter le code existant en utilisant la classe std::list ?

signaler à un administrateur
Commentaire de coucou747 le 03/10/2004 11:07:19

une centaine de copyleft... le kernel apartient a une centaine de personnes, donc, et donc, pour le vendre, il faudrait que toutes ces personnes veuillent bien le vendre...

signaler à un administrateur
Commentaire de magic_Nono le 04/10/2004 11:07:56

à mon avi ce code risque de po marché si le .h est inclus plusieurs fois...avec les mm templates

En gros, met donc des includes ou fait deux fichiers

En clair, ce fichier est une réécriture des BListeIndir avec des fonctions en moins et quelques-unes en plus (personnellement inusitées)

en version MFC ie plutot po pratiq (y a des choses pratiq en MFC mais les CListes...)
++
Nono

_____________________
un truc relevé:

for (; nCount--; pElements++)
pElements->~TYPE();

T sur que ça passe tjs ça...

en tt cas, difficile d'etre moins clair
et l'appel est vraiement curieux... mé ça marche il faut le reconnaitre...

mé un rien de commentaire aurait été bienvenu...

signaler à un administrateur
Commentaire de Kirua le 04/10/2004 16:33:09

http://www.cplusplus.com/doc/tutorial/tut5-1.html

Templates and multiple-file projects
From the point of view of the compiler, templates are not normal functions or classes. They are compiled on demand, meaning that the code of a template function is not compiled until an instantiation is required. At that moment, when an instantiation is required, the compiler generates a function specifically for that type from the template.

When projects grow it is usual to split the code of a program in different source files. In these cases, generally the interface and implementation are separated. Taking a library of functions as example, the interface generally consists of the prototypes of all the functions that can be called. These are generally declared in a "header file" with .h extension, and the implementation (the definition of these functions) is in an independent file of c++ code.

The macro-like functionality of templates, forces a restriction for multi-file projects: the implementation (definition) of a template class or function must be in the same file as the declaration. That means we cannot separate the interface in a separate header file and we must include both interface and implementation in any file that uses the templates.

Going back to the library of functions, if we wanted to make a library of function templates, instead of creating a header file (.h) we should create a "template file" with both the interface and implementation of the function templates (there is no convention on the extension for this type of file other than there be no extension at all or to keep the .h). The inclusion more than once of the same template file with both declarations and definitions in a project doesn't generate linkage errors, since they are compiled on demand and compilers that allow templates should be prepared to not generate duplicate code in these cases.

signaler à un administrateur
Commentaire de coucou747 le 04/10/2004 18:30:19

translate.com...

signaler à un administrateur
Commentaire de Kirua le 04/10/2004 18:57:39

souvrir-au-monde.fr ...

en résumé, ça veut dire que qd tu fais des templates, tu dois tt mettre ds le même fichier. pour les raisons et la justification: apprendre l'anglais, ... de tte façon en prog, c'est quasiment un pré-requis.

signaler à un administrateur
Commentaire de coucou747 le 04/10/2004 19:00:46

merci

signaler à un administrateur
Commentaire de magic_Nono le 08/10/2004 20:06:43

Je part du principe que les proto et le corps des fonctions doivent etre ds des fichiers différents
ptet que G tord

ceci dit, le src n'était js inclu ds le prj met en include ds le header ce qui revient au meme

CT juste pour des histoire de gestion standard
chaque fichier est dispatché entre un .hpp ou .h ou .hh
& un .cpp ou .cc

voilu
met effectivement, ça revient au meme
Juste une histoire d'être toujours face au même shémat (but de standardisation)
et il est vrai qu'on est obligé de déroger à cette regle pour les fonctions inline...

Magicalement
Nono.

signaler à un administrateur
Commentaire de magic_Nono le 08/10/2004 20:07:23

met-> mais

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.