Par exemple, moi je bosse dans une petite société ou l'on est seulement deux développeurs, et on utilise souvent du LGPL car on aime savoir comment c'est fait, et modifier, corriger les bugs (en faire retour à la communauté)
Et j'ai rien contre l'idée de fournir le soft final en GPL, vu que l'on tire principalement des ressource sur le support auprès du client.
Malheureusement, on est dans un domaine ou tout n'est pas GPL, et on est obligé d'utiliser du proprio dans notre appli car l'équivalent GPL n'existe pas...et fabriquer cette librairie est hors de nos compétences et aussi de nos moyens, celà signifie que l'on ne peut pas mettre notre appli en GPL, et pire encore que l'on ne peut pas utiliser de librairie en GPL nous même.
Bref, nous sommes bloqués et obligés de faire du proprio, bien malgré nous! Et parfois, c'est terriblement gonflant d'être bloqué, car l'appli tient la route, apporte vraiment un plus a nos clients, le modèle est viable, mais impossible de faire du libre!
ça fonctionne pas pareil sur toutes les platteforme, surtout que les pthread ne sont pas vraiment nativement supportés sous windows et passent par les WinThread ...
De toute façon arrêter un thread alors qu'il tourne c'est pas très conseillé, car tu le force à quitter alors qu'il est en cours de traitement... mieux vaut lui demander poliement de s'arrêter et lui laisser le soin de sortir tout seul comme un grand...
pour ça je te conseille de faire une boucle qui teste à la foi ce qui arrive sur ton port serveur (avec un select(), ou un epoll() ) pour savoir si une connection arrive et une variable condition qui basculera quand on demande au thread de quitter... pour moi cette technique fonctionne très bien.
en speudo code:
int threadfunc(void* param){
while ( testExit()==false){
if(select(...)>0)
tableau[i] = accept(...);
}
}
bon, alors j'ai pas de mac.. donc je sais pas si ça marchera...
mais avec les pthread t'as les variables conditions...
et du coup pour rendre ton nap() portable tu pourrais les utiliser, avec la fonction : pthread_cond_timedwait
le problème c'est que t'auras besoin de créer une variable condition, un mutex et voire peut être une boucle sur la fonction au cas ou tu sorte prématurément de celle-ci...
Les algos de formis sont aussi utilisé pour les résaux téléphoniques mobile...quand certains relais sont engorgés, l'algo adapte en temps réels le chemins que prennent les données...car si les données mettent trop de temps à aller d'un point à un autre les phéromones s'amenuisent et les autres fourmies n'empreintent plus le chemin! En gros l'avantage de cet algo, c'est qu'il permet de recalculer les poids de chaque points du graphe en live...la solution s'adapte automatiquement à chaque nouvelle configuration!
Je n'en connais pas qui font ça pour le c++ mais par contre le compilateur smartEiffel compile d'abord son code en "C"...et c'est un language objet bien plus abordable pour un débutant, car complètement objet, permettant la programmation par contrat (précondition, postcondition, invariants ..etc), et possédant un garbage collector très puisssant, avec une API très simple d'emploit.
Je pense vraiment que le Langage Eiffel est de loin le plus facile pour comprendre l'esprit de la programmation objet, car il possède une syntaxe proche du pascal qui est plus intuitive que celle du "C".
voici le liens : http://smarteiffel.loria.fr/index.html(...)
D'accord il faut s'occuper des problèmes de logements pour les SDF, d'accord il faut essayer de s'occuper de la misère des personnes agées dépendantes et seules...etc
Mais si pendant ce temps on ne valorise pas non plus les secteurs tels que la recherche fondamentale en physique, informatique, biologie etc... on ne fait plus rien...
Ok il y a des priorités, c'est pas pour autant qu'il faut s'offusquer que les pouvoir public décident de subventionner le domaine des jeux videos!
D'ailleurs, l'état possède généralement un budget établi pour chaque secteur affactés d'un ministère...Puis chacun de ces ministère utilise une partie de ce budget pour dynamiser son secteur! Donc, dans nôtre cas si cet argent n'avait pas été donné au développement des jeux vidéos, il aurait été utilisé pour un autre projet d'aide à la recherche informatique, mais certainement pas utilisé pour le domaine social...
En fait, si ton système n'est pas multi-tâche je pense qu'il y a de grandes chances pour qu'il n'y ai pas de bibliothèques dynamiques...vu que le seul intéret de celles-ci est de permettre le partage en mémoire de bout de codes entre differrents processus...mais je ne pense pas que celà interdise leur existance, juste leur intérêt...
Sinon sans avoir besoin de passer par Boost, on peut faire en sorte que la classe top< donne < topParam > donne > dérive d'une classe topBase :
topBase{
...
};
template< typename T >
class top : public topBase {
...
};
et garder
void test (top< topParam> &t) {
cout << "test passé" << endl;
}
mais bien sûr on n'a aucune grarantie que subTomParam hérite de topParam...et si test() à besoin d'acceder a subTopParam comme si c'était un topParam alors qu'en réalité subTopParam ne dérive pas de topParam, t'aura une erreur de compilation...
tu pourrais pas mettre une plus grosse partie de ton code source? parceque ton explication du problème est un peu trop flou...dans ton exemple y a même pas la moindre trace de template...
difficile de t'aider dans ces conditions...
sinon tu peut utiliser aussi gstreamer qui possède déjà tous les plugin pour encoder/décoder et même faire la capture depuis ta webcam et l'y mettre sur le disque dur...c'est plutôt simple d'emploi, il suffit de mettre bout à bout des plugins et de les connecter entre eux comme dans un graph de pétri... http://gstreamer.freedesktop.org/(...)
sinon si tu veux juste avoir les images sauveardés les unes à la suite des autres en jpg tu peux utliser ImageMagick (tu pourra même appliquer des effets sur chaques images) http://www.imagemagick.org/(...)
bon et si tu veux t'attaquer directement à utliser des encodeurs vidéos toi même il y a Xvid ou Theora...qui sont plus simples que ffmpeg car moins fourrre-tout... http://www.xvid.org/(...) http://www.theora.org/(...)
et pour le format de fichier t'as la libraie ogg (format de conteneur libre pas comme avi) qui est en liens sur le site de theora (qui propose même un exemple d'encodeur...que demande le peuple!)
-premièrement pour remplacer MFC t'as WxWidgets qui lui ressemble beaucoup dans le style de programmation et donc le portage devrait se faire en douceur... http://www.wxwidgets.org(...)
-deuxièmement pour scenelib regarde avec la SDL si les fonctionnalités fournit par tes librairies n'y sont pas à peu prêt equivalentes...
ou tu peu aussi utiliser un moteurD libre comme Ogre3D conjointement avec CrazyEddieGui pour l'interfaçage http://www.libsdl.org/index.php(...) http://www.ogre3d.org/(...) http://crayzedsgui.sourceforge.net/(...)
effectivment il s'agit d'une optimisation du compilateur qui jette tous les initialiseurs statiques non référencés...regarde dans les options du compilo(y a aussi des modifieurs inline pour ne pas mettre d'option à la compilation mais directement dans le code si je me souviens bien) pour le forcer à ne pas jetter les données statiques non référencés...
Cette fois-ci je me range du côté de PbPg, la licence te donne tout à fait le droit d'implémenter les protocoles sur n'importe qu'elle platteforme qui implémente correctement celui-ci et qui soit capable de communiquer correctement avec les systèmes de M$...
De plus d'accord sur le fait qu'on communique très bien avec la pile TCP/IP entre windows et linux (y quand même un petit bug qui m'embête toujours qui est celui de la fonction ioctlsocket() avec l'option FIONREAD qui est foirreuse parfois...mais c'est pas grave, ça oblige à écrire un protocole propre sans utiliser cette fonction...)
MINCE J'AI LOUPÉ CETTE JOURNÉE MONUMENTALE...
JE VOULAIS APPORTER MA PIERRE À L'ÉDIFICE MAIS C'EST TROP TARD...
TANT PIS...LE CAPS LOCK EST DE TOUTE FAÇON ENCLENCHÉ...
POUR APPORTER DE L'EAU AU MOULIN, JE VOULAIS DONC DIRE QUE IL Y A QUELQUES TEMPS J'AI CRÉE UNE FONTE(SUR HP48)
QUI AFFICHAIT LES MINUSCULES EN MAJUSCULES ET VICE-VERSA...
"Ca linke du GPL sans être soit même en GPL donc il y a forcément violation."
rappelons que la GPL ne parle pas de linkage mais de dépendance...c'est à dire que si un code non GPL est dépendant d'un code GPL, c'est une violation...le code non-GPL doit devenir GPL pour devenir légal...
sinon un code GPL peut très bien appeler du proprio, car sinon on pourrait rien executer sous windows qui soit GPL (et qui cible uniquement la platteforme windows ex:cigwin) car même un logiciel GPL fait appel à un moment donné au système...
Donc, j'ai l'impression que refuser qu'un driver du kernel-space sous GPL fasse appel à du proprio c'est pas vraiment interdit par la GPL mais interdit par les mainteneurs du noyau...
le problème est donc de savoir si pwcx est dépendant vis-à-vis de pwc...si c'est le cas...c'est ça qui viole la GPL...et qui fait que le hook à du être retiré...
Secundo, La France n'était pas touchée par ce brevet, et donc les versions locales du gimp avaient la possibilité de faire des GIF avec compression LZW (les utilisateurs Windows pouvaient télécharger le plugin en Finlande, par exemple).
car sur leur sîte on peut lire :
The U.S. LZW patent expired on June 20, 2003, the counterpart Canadian patent expires July 7, 2004, the counterpart patents in the United Kingdom, France, Germany and Italy expire June 18, 2004, and the Japanese counterpart patents expire June 20, 2004.
donc il semble que le brevet s'appliquait aussi en france...car juridiquement personne ne l'a invalidé (à ma connaissance)
merçi, imr m'a déjà fait un cours...mais c'est gentil à toi de participer si utilement à cette conversation...ça fait avancer les choses la méchanceté...
sinon, t'en fait pas, je comprend très bien que toi non plus t'y a pas compris grand chose quand je lis lis ton poste juste au dessus...relis toi tu comprendra peut être...
je résume donc ton poste à mon encontre: l'hopital qui se moque de la charité ....
New York c'est pas au nord des USA?
Sinon, merçi pour tes explications...je suis bien conscient qu'il y a des transcriptions de droits...mais certaines doivent être plus contraignantes que d'autres...et tu y perd...exemple...
aux USA tu à les brevets sur les logiciels...en europe,non! donc tu peux pas rajouter dans un logiciel en CPL un bout de code qui utilise certains procédés brevetés (et parfois aussi bêtes qu'un XOR) dans ton code...bref je trouve celà très restrictif...
ici en europe on aime bien ne pas devoir vérifier si un brevet à été déposé sur tel ou tel procédé algorithmique avant de se mettre à coder...
Enfin, tant pis...j'aime pas vraiment cette license, ni les brevets logiciels...j'assume...et d'ailleurs sûr ce sîte on milite un peu tous en ce moment contre la brevetabilité des logiciels...et cette license va à l'encontre de ces principes de mon point de vu...
mais je trouve ça bien que tu essaye de faire du libre avec tout tes boss qui regarde par dessus ton épaule pour vérifier que tu fait pas de bêtises...sincèrement, moi je pourrais pas...t'as au moins ce mérite...
j'ai une question, sur la license...justement, tout à la fin, il y a une clause géographico-juridique....(cf mon post un peu plus bas)...
pourrais tu s'il te plaît, nous donner ton interprétation de cette fin de texte? parce-que je suis surpris de voir qu'on soit obliger de se comformer au droit américain pour qu'elle soit valide apparrement...
[^] # Re: Petites critiques à l'égard de RMS
Posté par ecyrbe . En réponse à la dépêche La réaction de Richard Stallman aux récents évènements autour de BitKeeper. Évalué à 2.
Et j'ai rien contre l'idée de fournir le soft final en GPL, vu que l'on tire principalement des ressource sur le support auprès du client.
Malheureusement, on est dans un domaine ou tout n'est pas GPL, et on est obligé d'utiliser du proprio dans notre appli car l'équivalent GPL n'existe pas...et fabriquer cette librairie est hors de nos compétences et aussi de nos moyens, celà signifie que l'on ne peut pas mettre notre appli en GPL, et pire encore que l'on ne peut pas utiliser de librairie en GPL nous même.
Bref, nous sommes bloqués et obligés de faire du proprio, bien malgré nous! Et parfois, c'est terriblement gonflant d'être bloqué, car l'appli tient la route, apporte vraiment un plus a nos clients, le modèle est viable, mais impossible de faire du libre!
# y a un autre moyen
Posté par ecyrbe . En réponse au message Fourberies de libpthread.... Évalué à 4.
De toute façon arrêter un thread alors qu'il tourne c'est pas très conseillé, car tu le force à quitter alors qu'il est en cours de traitement... mieux vaut lui demander poliement de s'arrêter et lui laisser le soin de sortir tout seul comme un grand...
pour ça je te conseille de faire une boucle qui teste à la foi ce qui arrive sur ton port serveur (avec un select(), ou un epoll() ) pour savoir si une connection arrive et une variable condition qui basculera quand on demande au thread de quitter... pour moi cette technique fonctionne très bien.
en speudo code:
int threadfunc(void* param){
while ( testExit()==false){
if(select(...)>0)
tableau[i] = accept(...);
}
}
[^] # Re: TP ?
Posté par ecyrbe . En réponse au message lire les doubles. Évalué à 1.
# mamouth
Posté par ecyrbe . En réponse au message MacOS X insomniaque. Évalué à 2.
mais avec les pthread t'as les variables conditions...
et du coup pour rendre ton nap() portable tu pourrais les utiliser, avec la fonction : pthread_cond_timedwait
le problème c'est que t'auras besoin de créer une variable condition, un mutex et voire peut être une boucle sur la fonction au cas ou tu sorte prématurément de celle-ci...
[^] # Re: Sacré bazar
Posté par ecyrbe . En réponse au message remplir une chaine de int *. Évalué à 1.
Imaginons plutôt une fonction qui écrit sur le disque avec comme paramètre :
write_some_data(FILE* file,const void* datas,size_t size){
fwrite(datas,sizeof(char),size,file);
}
pour écrire ton "long" il suffit de faire
write_long(FILE* file,long data){
write_some_data(file,&data,sizeof(data));
}
c'est plus simple, non?
Et tu peut faire pareil pour n'importe quel type de donné...un int, un short ...
[^] # Re: Algorithme génétique ?
Posté par ecyrbe . En réponse à la dépêche Améliorer les performances du noyau avec un algorithme génétique. Évalué à 5.
[^] # Re: comeau
Posté par ecyrbe . En réponse au message Compilateur C++ crachant du C. Évalué à 1.
Je pense vraiment que le Langage Eiffel est de loin le plus facile pour comprendre l'esprit de la programmation objet, car il possède une syntaxe proche du pascal qui est plus intuitive que celle du "C".
voici le liens :
http://smarteiffel.loria.fr/index.html(...)
[^] # Re: argent public et société privée
Posté par ecyrbe . En réponse à la dépêche Subventions publiques pour la R&D des jeux vidéo en logiciels libres. Évalué à 5.
Mais si pendant ce temps on ne valorise pas non plus les secteurs tels que la recherche fondamentale en physique, informatique, biologie etc... on ne fait plus rien...
Ok il y a des priorités, c'est pas pour autant qu'il faut s'offusquer que les pouvoir public décident de subventionner le domaine des jeux videos!
D'ailleurs, l'état possède généralement un budget établi pour chaque secteur affactés d'un ministère...Puis chacun de ces ministère utilise une partie de ce budget pour dynamiser son secteur! Donc, dans nôtre cas si cet argent n'avait pas été donné au développement des jeux vidéos, il aurait été utilisé pour un autre projet d'aide à la recherche informatique, mais certainement pas utilisé pour le domaine social...
# informatique embarquée
Posté par ecyrbe . En réponse au message Bibliothèque statique / bibliothèque dynamique. Évalué à 1.
[^] # Re: Encodage caractère
Posté par ecyrbe . En réponse au message encodage des sources. Évalué à 1.
pour plus d'informations :
http://www.unicode.org(...)
http://www.cl.cam.ac.uk/~mgk25/unicode.html(...)
[^] # Re: erratum
Posté par ecyrbe . En réponse au message templates et héritage.. Évalué à 3.
Sinon sans avoir besoin de passer par Boost, on peut faire en sorte que la classe top< donne < topParam > donne > dérive d'une classe topBase :
topBase{
...
};
template< typename T >
class top : public topBase {
...
};
et garder
void test (top< topParam> &t) {
cout << "test passé" << endl;
}
mais bien sûr on n'a aucune grarantie que subTomParam hérite de topParam...et si test() à besoin d'acceder a subTopParam comme si c'était un topParam alors qu'en réalité subTopParam ne dérive pas de topParam, t'aura une erreur de compilation...
[^] # Re: erratum
Posté par ecyrbe . En réponse au message templates et héritage.. Évalué à 1.
difficile de t'aider dans ces conditions...
[^] # Re: Liste incomplète
Posté par ecyrbe . En réponse au sondage La langue que je préfère. Évalué à 1.
[^] # Re: Qastrocam
Posté par ecyrbe . En réponse au message Bibliotheques pour encoder/decoder. Évalué à 1.
http://gstreamer.freedesktop.org/(...)
sinon si tu veux juste avoir les images sauveardés les unes à la suite des autres en jpg tu peux utliser ImageMagick (tu pourra même appliquer des effets sur chaques images)
http://www.imagemagick.org/(...)
bon et si tu veux t'attaquer directement à utliser des encodeurs vidéos toi même il y a Xvid ou Theora...qui sont plus simples que ffmpeg car moins fourrre-tout...
http://www.xvid.org/(...)
http://www.theora.org/(...)
et pour le format de fichier t'as la libraie ogg (format de conteneur libre pas comme avi) qui est en liens sur le site de theora (qui propose même un exemple d'encodeur...que demande le peuple!)
# y a peut être moyen
Posté par ecyrbe . En réponse au message portage d'une appli windows vers linux. Évalué à 1.
http://www.wxwidgets.org(...)
-deuxièmement pour scenelib regarde avec la SDL si les fonctionnalités fournit par tes librairies n'y sont pas à peu prêt equivalentes...
ou tu peu aussi utiliser un moteurD libre comme Ogre3D conjointement avec CrazyEddieGui pour l'interfaçage
http://www.libsdl.org/index.php(...)
http://www.ogre3d.org/(...)
http://crayzedsgui.sourceforge.net/(...)
[^] # Re: Bonne question
Posté par ecyrbe . En réponse au message ld me détruit des symboles importants. Évalué à 1.
[^] # Re: ne pas baisser la garde
Posté par ecyrbe . En réponse à la dépêche Trois déclarations de Microsoft sur les formats, l'interopérabilité. Évalué à 3.
De plus d'accord sur le fait qu'on communique très bien avec la pile TCP/IP entre windows et linux (y quand même un petit bug qui m'embête toujours qui est celui de la fonction ioctlsocket() avec l'option FIONREAD qui est foirreuse parfois...mais c'est pas grave, ça oblige à écrire un protocole propre sans utiliser cette fonction...)
[^] # Re: EXCELENTISSIME !!!
Posté par ecyrbe . En réponse à la dépêche JOURNÉE NATIONALE DU CAPS LOCK. Évalué à 0.
JE VOULAIS APPORTER MA PIERRE À L'ÉDIFICE MAIS C'EST TROP TARD...
TANT PIS...LE CAPS LOCK EST DE TOUTE FAÇON ENCLENCHÉ...
POUR APPORTER DE L'EAU AU MOULIN, JE VOULAIS DONC DIRE QUE IL Y A QUELQUES TEMPS J'AI CRÉE UNE FONTE(SUR HP48)
QUI AFFICHAIT LES MINUSCULES EN MAJUSCULES ET VICE-VERSA...
ÇA PAS EU DE SUCCÈS...SNIFF...
[^] # Re: euhh ... mainteneurs oupsss ?
Posté par ecyrbe . En réponse à la dépêche Fin du support Linux des webcams Philips. Évalué à 3.
rappelons que la GPL ne parle pas de linkage mais de dépendance...c'est à dire que si un code non GPL est dépendant d'un code GPL, c'est une violation...le code non-GPL doit devenir GPL pour devenir légal...
sinon un code GPL peut très bien appeler du proprio, car sinon on pourrait rien executer sous windows qui soit GPL (et qui cible uniquement la platteforme windows ex:cigwin) car même un logiciel GPL fait appel à un moment donné au système...
Donc, j'ai l'impression que refuser qu'un driver du kernel-space sous GPL fasse appel à du proprio c'est pas vraiment interdit par la GPL mais interdit par les mainteneurs du noyau...
le problème est donc de savoir si pwcx est dépendant vis-à-vis de pwc...si c'est le cas...c'est ça qui viole la GPL...et qui fait que le hook à du être retiré...
c t clair?
[^] # Re: Nouveau format à implémenter dans GIMP
Posté par ecyrbe . En réponse à la dépêche Le brevet sur le format GIF est arrivé à expiration. Évalué à 1.
Secundo, La France n'était pas touchée par ce brevet, et donc les versions locales du gimp avaient la possibilité de faire des GIF avec compression LZW (les utilisateurs Windows pouvaient télécharger le plugin en Finlande, par exemple).
car sur leur sîte on peut lire :
The U.S. LZW patent expired on June 20, 2003, the counterpart Canadian patent expires July 7, 2004, the counterpart patents in the United Kingdom, France, Germany and Italy expire June 18, 2004, and the Japanese counterpart patents expire June 20, 2004.
donc il semble que le brevet s'appliquait aussi en france...car juridiquement personne ne l'a invalidé (à ma connaissance)
# pour télécharger les fichiers binaires
Posté par ecyrbe . En réponse à la dépêche XviD 1.0 est enfin sorti !. Évalué à 6.
http://roeder.goe.net/~koepi/(...)
sinon c'est pas compliqué...a vos gcc, près ? compilez...
[^] # Re: Mozilla et Gnome, main dans la main ?
Posté par ecyrbe . En réponse à la dépêche Mozilla et Gnome, main dans la main ?. Évalué à 3.
http://ljouanneau.com/blog/2003/10/25/178-LaNouvelleBatailleDuWebSa(...)
[^] # Re: Lisez la licence CPL!!!
Posté par ecyrbe . En réponse à la dépêche Microsoft se met à l'open-source. Évalué à 1.
sinon, t'en fait pas, je comprend très bien que toi non plus t'y a pas compris grand chose quand je lis lis ton poste juste au dessus...relis toi tu comprendra peut être...
je résume donc ton poste à mon encontre: l'hopital qui se moque de la charité ....
[^] # Re: Lisez la licence CPL!!!
Posté par ecyrbe . En réponse à la dépêche Microsoft se met à l'open-source. Évalué à -2.
New York c'est pas au nord des USA?
Sinon, merçi pour tes explications...je suis bien conscient qu'il y a des transcriptions de droits...mais certaines doivent être plus contraignantes que d'autres...et tu y perd...exemple...
aux USA tu à les brevets sur les logiciels...en europe,non! donc tu peux pas rajouter dans un logiciel en CPL un bout de code qui utilise certains procédés brevetés (et parfois aussi bêtes qu'un XOR) dans ton code...bref je trouve celà très restrictif...
ici en europe on aime bien ne pas devoir vérifier si un brevet à été déposé sur tel ou tel procédé algorithmique avant de se mettre à coder...
Enfin, tant pis...j'aime pas vraiment cette license, ni les brevets logiciels...j'assume...et d'ailleurs sûr ce sîte on milite un peu tous en ce moment contre la brevetabilité des logiciels...et cette license va à l'encontre de ces principes de mon point de vu...
mais je trouve ça bien que tu essaye de faire du libre avec tout tes boss qui regarde par dessus ton épaule pour vérifier que tu fait pas de bêtises...sincèrement, moi je pourrais pas...t'as au moins ce mérite...
[^] # Re: Traduction rapide de ce passage interressant, les motivations de l'auteur.
Posté par ecyrbe . En réponse à la dépêche Microsoft se met à l'open-source. Évalué à 3.
pourrais tu s'il te plaît, nous donner ton interprétation de cette fin de texte? parce-que je suis surpris de voir qu'on soit obliger de se comformer au droit américain pour qu'elle soit valide apparrement...