begin process at 2012 02 12 12:35:29
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > UNE CLIST 100% COMPATIBLE MFC POUR UNIX...

UNE CLIST 100% COMPATIBLE MFC POUR UNIX...


 Information sur la source

Note :
Aucune note
Catégorie :Divers Niveau :Initié Date de création :01/10/2004 Vu / téléchargé :3 541 / 201

Auteur : FredTachet

Ecrire un message privé
Site perso
Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

 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

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip ÉDITEUR DE RECTANGLES EN CONSOLE par seoseo
CONVERSION DE FICHIER EN FICHIER BMP par seoseo
Source avec Zip DETECTEUR EJP par idpro
Source avec Zip Source avec une capture SHOP MANAGER CONSOLE SUR WINDOWS par antho974
Source avec Zip JOUR DE NAISSANCE par fredg19

Commentaires et avis

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

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.

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+

Commentaire de coucou747 le 02/10/2004 11:12:39 administrateur CS

"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

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 ...

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 ?

Commentaire de coucou747 le 03/10/2004 11:07:19 administrateur CS

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...

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...

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.

Commentaire de coucou747 le 04/10/2004 18:30:19 administrateur CS

translate.com...

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.

Commentaire de coucou747 le 04/10/2004 19:00:46 administrateur CS

merci

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.

Commentaire de magic_Nono le 08/10/2004 20:07:23

met-> mais

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,466 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales