on est tout près du CPU, on est au chaud, on se sent bien rapidement :-)
C'est vrai que lorsque l'on se tient près du CPU, on est vite au chaud, surtout avec les dernières versions. Quoi que maintenant, certaines cartes graphiques doivent pouvoir avantageusement remplacer une cheminée ! :-)
Sinon, entièrement d'accord avec toi. Même si Bjarne Stroustrup et les puristes objets conseillent parfois aux débutants de commencer directement par le dernier langage, je ne recommanderai à personne de commencer par le C++ avant le C.
Coté pointeur, c'est la même chose. Il suffit de se demander « où est ma ressource » pour introduire le concept de pointeurs. Il y a beaucoup de stagiaires et de candidats qui défilent dans notre petit bureau de développeurs et lorsque l'un d'eux me sort (en marmonnant) « Personnellement je préfère le Java au C » c'est quasiment éliminatoire pour moi:
- Si c'est parce que l'API et le jeu de classe est sympa, que c'est répandu, portable partout et qu'il y a beaucoup d'outils, ok ça passe.
- Si, pour le candidat, c'est un langage comme le C mais qui permet de s'affranchir des pointeurs, alors c'est une lacune qu'il essaie de masquer.
Ce n'est pas un concept bizzarre propre au C, c'est quelque chose qui a toujours existé, depuis l'assembleur. A partir du moment où il fallait stocker quelque part l'adresse d'une ressource particulière, on a employé ce mot. Même sur Thomson, en BASIC 128 de 1985, on avait VARPTR qui nous donnait l'adresse d'une variable (enfin: de son descripteur) alors que ce n'était pas vraiment un langage de très bas niveau ...
Tu passes root, et tu exécutes ce que tu viens de télécharger.
Le package recompilera un module tout spécialement pour ton kernel, et fera les configs qui vont bien. A toi les parties de Tuxracer, ensuite ...
Posté par Obsidian .
En réponse au message outils.
Évalué à 4.
Si j'en juge par tes deux commentaires ci-dessus, j'espère aussi. Il te faudra un paquet de neurochirurgiens de très haut niveau pour envisager une greffe de cerveau.
D'ailleurs, au passage, arrêtez de moinser ces commentaires-là. Il a ouvert son compte aujourd'hui. C'est normal qu'il fasse quelque tests. Si tout le monde s'acharne, il ne pourra plus répondre.
Posté par Obsidian .
En réponse au message outils.
Évalué à 3.
ainsi que sur la distribution que je dois acquerir tout en sachant que je la mettrais sur un ordinateur portable style 486.
Très franchement, cela vaudrait le coup d'investir un minimum dans du matériel récent, parce que là, tu vas galérer:
Le plus « simple » est de récupérer une distribution de l'époque, comme une Redhat 5. Je confirme que cela fonctionne (j'ai lancé X-Window dessus sans problème), mais il te faudra éventuellement retrouver tous les outils de l'époque, et pareil pour le support: Toutes les entrées de forum traitant de ces versions seront noyées par les récentes.
D'autre part, en ce qui concerne le C, aucun problème. Le C et Unix sont intimement liés et GCC a toujours été très performant sur ce point. Par contre, pour le C++, je dirais que g++ ne fonctionne correctement que depuis 2 voire 3 ans.
pourriez vous me conseiller une méthode d'étude.
Beaucoup te conseilleront l'ouvrage écrit par K&R (Brian Kernigan et Dennis Ritchie), qui ne sont autres que les inventeurs du langage.
Moi, en ce qui me concerne, je n'ai pas trouvé de meilleur ouvrage que celui de Christian Casteyde, qui malheureusement a stoppé sa diffusion suite aux histoires de brevets logiciels, mais on en trouve encore des versions sur le Net, comme ici:
Ok, ton compte a trois semaines.
Il se trouve que jusqu'il n'y a pas très longtemps, les termes « pertinent » et » inutile » en bas de chaque post étaient en fait marqués + et -. D'où naturellement les notions de moinssage et de plussoyage. :-)
--
Oui au retour des IDs des comptes et du nombre de vote par post.
D'ou vient ce problème ? Comment faire afficher les valeurs justes ?
Ce sont des dettes ! Cela correspond à tout l'espace que tu as frauduleusement utilisé pendant toutes ces années ! Va tout-de-suite acheter un disque dur pour régulariser ta situation ! :-)
D'ailleurs, savez-vous ce qu'il est théoriquement censé se passer si l'on attache une tartine beurrée sur le dos d'un chat, qui lui est réputé toujours retomber sur ses pattes ? :-)
Ben, c'est vrai que l'on présente toujours les Ignobels comme « récompensant les publications ou les travaux scientifiques qui ne peuvent pas ou ne doivent pas être reproduits. » mais je ne sais pas vraiment d'où ça sort ... Sur leur site, il est écrit:
« Les vainqueurs ont tous fait des choses qui ont d'abord fait RIRE puis REFLECHIR les gens. ».
Cela correspond déjà plus à ce que l'on voit depuis plusieurs années maintenant ...
Il y a mille et une raisons qui peuvent conduire X à ne pas démarrer, la plupart du temps bénignes.
Un indice: tape
$ cat /var/log/XFree86.0.log
en respectant minuscules et majuscules. Dans ce fichier, se trouve le rapport complet de démarrage du serveur X, et donc les éventuelles erreurs. Regarde spécialement les lignes qui commencent par (EE), à la fin du fichier. La raison du plantage y sera probablement écrite en clair.
Le mieux, pour l'avenir, est encore de t'offrir un clavier USB. En général il sont reconnus immédiatement et cela t'évitera bien des soucis par la suite, surtout qu'on peut les utiliser un peu partout, notament sur des portables ...
Déjà, il te faut savoir que la gestion des caractères en mode console (texte) et en graphique (--> sous X-Windows) n'est pas géré par les mêmes utilitaires. En effet, X-Window est une application à part entière, et qui plus est tournant - en principe - sur une autre machine (un terminal) reliée en réseau, même si tout le monde utilise cette architecture en local, ce qui est très bien comme cela. Cela pour expliquer l'éventuelle disparité entre les outils.
Ensuite, il est tout à fait possible de mapper n'importe quel caractère sur n'importe quelle touche sous X-Window à l'aide de la commande xmodmap (man xmodmap pour plus de détails). En face du keycode, tu donnes le nom canonique des quatre caractères que tu comptes associer à une touche. Ce sont ceux qui seront émis lorsque tu appuieras respectivement sur: la touche seule, shift + la touche, Alt-Gr + la touche, Alt-Gr + Shift + la touche.
Note: Ces modifs sont volatiles. Cela veut dire que bien qu'il existe effectivement des claviers non-conforme avec une, voire deux touches incorrectes, en général cela arrive parce que le mauvais clavier a été sélectionné.
Jette un oeil aux outils de configuration de ta distrib et tout devrait rentrer dans l'ordre.
Ouais, 2 gigas, 'faut bien ça, à mon avis, pour tamponner tout le spam et les vers et pouvoir quand même recevoir son courrier avant que la boite ne soit pleine :-)
Bon sinon, cela sert à quoi, deux gigas sans compte POP/IMAP ? Quand on en est à transférer des fichiers de cette taille, on trouve un système un poil meilleur que les pièces jointes, non ? Surtout que même avec une ADSL haut-débit, cela doit prendre des jours à downloader, alors si en plus tout se fait par le webmail ...
UPDATE: Bon visiblement, c'est pas qu'une boite mail, c'est du web hosting, « basé sur l'idée de vous permettre de garder toutes vos données en un seul lieu accessible depuis n'importe où ».
Bon là, ca prend déjà plus de sens. A essayer pour voir ...
mais, si tu as récupéré ton script directement sur l'autre machine, il est possible qu'il y ait des caractères en trop à la fin de la ligne, ou bien un retour chariot pas codé comme il faut ...
Ben tu sais, ici c'est pas trop Windows (quoique ...).
Si tu veux avoir une astuce ici, 'faudra pas avoir peur de mettre les mains de le cambouis. En l'occurence, il y a fort à parier que tes stats se trouvent déjà dans la base de registres à l'intention de l'ajouteur/suppresseur de programmes. Si tu y jète un oeil, t'auras probablement les infos qui t'intéressent.
Va deja chez Sysinternals http://www.sysinternals.com/(...) récupérer regmon et filemon, histoire de trouver dans quelles clés ces infos peuvent résider, et quand t'as trouvé, reviens en faire profiter tout le monde.
Moi non plus, mais force est de constater qu'en ce moment, en Irak, la justice, elle a un peu de peine à se faire appliquer.
Et personnellement, défacer un site et abattre des otages ne sont pas deux choses comparables pour moi (ce qui est grave, c'est que beaucoup de personnes pensent le contraire).
Non, cela passera pas, cela sent le FUD à plein nez !
Cela doit encore être une étude commandée par Microsoft ...
Ce n'est pas une simple étude commandée par Microsoft, c'est encore un des magnifiques papiers pondus par le Gartner Group ! Il suffit de jeter un oeil aux archives pour se rendre compte que leur ligne directrice a toujours été de sortir des nouvelles à sensations, sans recul ni fondement, et qui ne servent qu'à flatter les sens des grands CEO.
Ouf ! J'y ai mis 3 jours, mais ça y est, j'y suis arrivé !
Oui, j'ai nagé à travers tous les Makefile et ./configure, tous générés par autoconf évidement, soit 10000 lignes minimum. J'ai essayé de changer quelques paramètres etc ...
La solution est la suivante:
S'il est conseillé de mettre une directive "--target=", tant à la construction de gcc qu'à celle des binutils, l'ignorer provoque la construction d'une suite d'outils natifs, destinés à traiter des fichiers au format adaptée à la machine sur laquelle on est censé travailler, ce qui est en général ce que l'on veut.
Or: passer cette option provoque également l'ajout d'un préfixe devant tous les noms des outils, préfixe correspondant à la cible. Ex "i686-pc-linux-gnu-ar", "i686-pc-linux-gnu-ld" pour binutils, ou "i686-pc-linux-gnu-gcc" dans le cas des compilateurs de gcc. Il est d'ailleurs précisé dans la doc que lorsque l'on invoque gcc -arch=xxxxx, c'est en fait ces exécutables qu'il va chercher.
Mais en outre, ne pas préciser de cible génère non seulement des outils natifs mais aussi sans préfixe ! Et c'est eux qui vont être invoqués en premier, même en passant une option "--arch" (dans ce cas, les suivants sont appelés par ces premiers). C'est aussi ce qui provoque la prise en charge par défaut de la machine locale.
Cela veut déjà dire qu'il est préférable de construire d'abord tous les outils et compilateurs pour toutes les plateformes croisées, et seulement enfin, les outils et compilateurs natifs.
La clé du mystère:
S'il faut effectivement créer une suite de compilateurs, un par cible (ce qui, déjà, en soi, n'est pas clair: cela ne le devient qu'implicitement, au moment où l'on apprend que passer une architecture en directive appelle l'exécutable correspondant), cela est loin d'être évident pour binutils, qui reçoit l'option --enable-targets=all, contrairement à gcc. Cette option laisse penser que l'on peut bâtir une suite d'outils visant toutes les cibles.
En fait c'est faux: Cette option ne sert qu'à activer l'accès aux différentes cibles, volontairement restreintes. Il faut en plus ajouter "--enable-64-bit-bfd" pour étendre cette sélection aux cibles 64bits telles que Sun Solaris2 sur Sparc64 (v9).
Cela implique donc de construire binutils exactement comme gcc, les deux suites partageant les mêmes répertoires, ce qui est une bonne chose. Donc reconstruire une version de binutils pour chaque cible.
C'est là que tout se dénoue: chaque build de binutils ciblant une plateforme particulière, et windres ne servant qu'à manipuler les fichiers Windows, cet outil ne sera compilé que si binutils cible explicitement cette plateforme ! Même si les sources de l'outil se trouve dans le package.
Fini ? Pas encore tout-à-fait: binutils va encore faire appel à votre intuition:
Déjà, créer un exécutable Windows n'est l'affaire que du linker "ld", et pas du compilateur, qui lui ne doit produire que du code objet pour le processeur sur lequel le système de Redmond doit tourner.
Ensuite, à votre avis, quel sera le nom de la cible ? Win32 ? Nan, Windows contamine aussi les machines 64 bits.
Il faut en fait se souvenir qu'à la naissance de Windows, sont apparus les formats NE (New Executable), puis PE (Portable Executable), encapsulés au sein d'un fichier Exe MS-DOS standard, lequel ne servant plus qu'à écrire "This program cannot run in DOS mode" à l'écran. D'ailleurs, le même format sera utilisé sur toutes les architectures, y compris non-PC. En cherchant un peu dans les BFD de binutils, on trouve donc pe-i386 et pei-i386.
D'où une cible qui marche: i386-pc-pe, pour ratisser le plus large possible.
Après l'effort, la récompense: Cette procédure fonctionne pour toutes les cibles. Vous pouvez donc essayer l'impressionnante palette de processeurs et de plateformes reconnus par gcc, et n'êtes plus obligés de débourser entre 10000 et 20000 francs ( http://fr.kelkoo.com/search.jsp?catId=100164013&siteSearchQuery(...) ) pour profiter d'un compilateur performant, et surtout vous n'avez plus de raisons de rebooter:
Un seul tarball, un seul makefile, et votre application fonctionnera partout. Quelques NFS/SMBmount judicieux, voire des montages de partitions, et tout votre pôle de développement sera centralisé !
Bon je poste tout cela en astuce ou j'écris un HOWTO ? :-)
[^] # Re: Moi je suis d'accord
Posté par Obsidian . En réponse au journal Nouveau projet super intéressant !!!!!. Évalué à 3.
On peut les faire frire. Il parait que ça a le goût de frites.
http://www2.canoe.com/voyages/decouvrir/destinations/archives/2003/(...)
# Cheveux gris !
Posté par Obsidian . En réponse au journal Microsoft a fait un patch contre les cheveux gris. Évalué à 10.
[^] # Re: Ben oui, le C++ !
Posté par Obsidian . En réponse au message Bien s'entourer en c, et plus si affinités. Évalué à 3.
C'est vrai que lorsque l'on se tient près du CPU, on est vite au chaud, surtout avec les dernières versions. Quoi que maintenant, certaines cartes graphiques doivent pouvoir avantageusement remplacer une cheminée ! :-)
Sinon, entièrement d'accord avec toi. Même si Bjarne Stroustrup et les puristes objets conseillent parfois aux débutants de commencer directement par le dernier langage, je ne recommanderai à personne de commencer par le C++ avant le C.
Coté pointeur, c'est la même chose. Il suffit de se demander « où est ma ressource » pour introduire le concept de pointeurs. Il y a beaucoup de stagiaires et de candidats qui défilent dans notre petit bureau de développeurs et lorsque l'un d'eux me sort (en marmonnant) « Personnellement je préfère le Java au C » c'est quasiment éliminatoire pour moi:
- Si c'est parce que l'API et le jeu de classe est sympa, que c'est répandu, portable partout et qu'il y a beaucoup d'outils, ok ça passe.
- Si, pour le candidat, c'est un langage comme le C mais qui permet de s'affranchir des pointeurs, alors c'est une lacune qu'il essaie de masquer.
Ce n'est pas un concept bizzarre propre au C, c'est quelque chose qui a toujours existé, depuis l'assembleur. A partir du moment où il fallait stocker quelque part l'adresse d'une ressource particulière, on a employé ce mot. Même sur Thomson, en BASIC 128 de 1985, on avait VARPTR qui nous donnait l'adresse d'une variable (enfin: de son descripteur) alors que ce n'était pas vraiment un langage de très bas niveau ...
[^] # Re: Tu n'est pas seul Matorban (si ça peux te consoler)
Posté par Obsidian . En réponse au message pas d'interface graphique, mais alors pas du tout.... Évalué à 2.
http://download.nvidia.com/XFree86/Linux-x86/1.0-6111/NVIDIA-Linux-(...)
Tu passes root, et tu exécutes ce que tu viens de télécharger.
Le package recompilera un module tout spécialement pour ton kernel, et fera les configs qui vont bien. A toi les parties de Tuxracer, ensuite ...
[^] # Re: J'ai une idée
Posté par Obsidian . En réponse au message outils. Évalué à 4.
D'ailleurs, au passage, arrêtez de moinser ces commentaires-là. Il a ouvert son compte aujourd'hui. C'est normal qu'il fasse quelque tests. Si tout le monde s'acharne, il ne pourra plus répondre.
# Distrib et outils.
Posté par Obsidian . En réponse au message outils. Évalué à 3.
Très franchement, cela vaudrait le coup d'investir un minimum dans du matériel récent, parce que là, tu vas galérer:
Le plus « simple » est de récupérer une distribution de l'époque, comme une Redhat 5. Je confirme que cela fonctionne (j'ai lancé X-Window dessus sans problème), mais il te faudra éventuellement retrouver tous les outils de l'époque, et pareil pour le support: Toutes les entrées de forum traitant de ces versions seront noyées par les récentes.
D'autre part, en ce qui concerne le C, aucun problème. Le C et Unix sont intimement liés et GCC a toujours été très performant sur ce point. Par contre, pour le C++, je dirais que g++ ne fonctionne correctement que depuis 2 voire 3 ans.
pourriez vous me conseiller une méthode d'étude.
Beaucoup te conseilleront l'ouvrage écrit par K&R (Brian Kernigan et Dennis Ritchie), qui ne sont autres que les inventeurs du langage.
Moi, en ce qui me concerne, je n'ai pas trouvé de meilleur ouvrage que celui de Christian Casteyde, qui malheureusement a stoppé sa diffusion suite aux histoires de brevets logiciels, mais on en trouve encore des versions sur le Net, comme ici:
http://cowww.epfl.ch/infmaph/doc/coursCpp/book1.html(...)
UPDATE: Les sources sont à nouveau disponibles. Merci à lui:
http://casteyde.christian.free.fr/(...)
Ce cours couvre bien le C et le C++, et respecte la règle des trois C (Clair, Complet, Concis).
En ce qui concerne les outils eux-même:
Choisis-toi l'éditeur de texte qui te plaît.
Compile tes programmes avec gcc et g++.
Un peu de doc:
man gcc
http://gcc.gnu.org(...) , dans la manchette de gauche, il a une colonne de documentation (mais là, ce n'est pas vraiment pour les débutants).
Pour compiler ton programme:
gcc monprogramme.c
C'est ce qu'il y a de plus simple: Essaie de voir ce que cela rend, puis explore les options pour voir comment tu peux améliorer le résultat.
Bon courage.
[^] # Re: jabber
Posté par Obsidian . En réponse au message Protocole MSN en réseau sous routeur !!. Évalué à 2.
Ok, ton compte a trois semaines.
Il se trouve que jusqu'il n'y a pas très longtemps, les termes « pertinent » et » inutile » en bas de chaque post étaient en fait marqués + et -. D'où naturellement les notions de moinssage et de plussoyage. :-)
--
Oui au retour des IDs des comptes et du nombre de vote par post.
# Dettes
Posté par Obsidian . En réponse au message df renvoye des valeurs négatives.. Évalué à 3.
Comment faire afficher les valeurs justes ?
Ce sont des dettes ! Cela correspond à tout l'espace que tu as frauduleusement utilisé pendant toutes ces années ! Va tout-de-suite acheter un disque dur pour régulariser ta situation ! :-)
[^] # Re: santé publique
Posté par Obsidian . En réponse à la dépêche Attribution des prix IgNobel 2004. Évalué à 2.
[^] # Re: santé publique
Posté par Obsidian . En réponse à la dépêche Attribution des prix IgNobel 2004. Évalué à 5.
« Les vainqueurs ont tous fait des choses qui ont d'abord fait RIRE puis REFLECHIR les gens. ».
Cela correspond déjà plus à ce que l'on voit depuis plusieurs années maintenant ...
# Le message d'erreur !
Posté par Obsidian . En réponse au message pas d'interface graphique, mais alors pas du tout.... Évalué à 4.
Un indice: tape
$ cat /var/log/XFree86.0.log
en respectant minuscules et majuscules. Dans ce fichier, se trouve le rapport complet de démarrage du serveur X, et donc les éventuelles erreurs. Regarde spécialement les lignes qui commencent par (EE), à la fin du fichier. La raison du plantage y sera probablement écrite en clair.
File-nous ces lignes ici et tu auras la réponse.
Bon courage.
# « Oh ben: achète un fil ! »
Posté par Obsidian . En réponse au message trouver l'ip dune debian. Évalué à 2.
Le mieux, pour l'avenir, est encore de t'offrir un clavier USB. En général il sont reconnus immédiatement et cela t'évitera bien des soucis par la suite, surtout qu'on peut les utiliser un peu partout, notament sur des portables ...
[^] # Réponse longue:
Posté par Obsidian . En réponse au message Redirection de touches de clavier ?. Évalué à 4.
Déjà, il te faut savoir que la gestion des caractères en mode console (texte) et en graphique (--> sous X-Windows) n'est pas géré par les mêmes utilitaires. En effet, X-Window est une application à part entière, et qui plus est tournant - en principe - sur une autre machine (un terminal) reliée en réseau, même si tout le monde utilise cette architecture en local, ce qui est très bien comme cela. Cela pour expliquer l'éventuelle disparité entre les outils.
Ensuite, il est tout à fait possible de mapper n'importe quel caractère sur n'importe quelle touche sous X-Window à l'aide de la commande xmodmap (man xmodmap pour plus de détails). En face du keycode, tu donnes le nom canonique des quatre caractères que tu comptes associer à une touche. Ce sont ceux qui seront émis lorsque tu appuieras respectivement sur: la touche seule, shift + la touche, Alt-Gr + la touche, Alt-Gr + Shift + la touche.
Note: Ces modifs sont volatiles. Cela veut dire que bien qu'il existe effectivement des claviers non-conforme avec une, voire deux touches incorrectes, en général cela arrive parce que le mauvais clavier a été sélectionné.
Jette un oeil aux outils de configuration de ta distrib et tout devrait rentrer dans l'ordre.
Bon courage.
# Réponse courte:
Posté par Obsidian . En réponse au message Redirection de touches de clavier ?. Évalué à 3.
xmodmap -e "keycode 49 = less greater bar brokenbar"
# 2 Gigas ?
Posté par Obsidian . En réponse au journal Boîte mail de 2 Go. Évalué à 5.
Bon sinon, cela sert à quoi, deux gigas sans compte POP/IMAP ? Quand on en est à transférer des fichiers de cette taille, on trouve un système un poil meilleur que les pièces jointes, non ? Surtout que même avec une ADSL haut-débit, cela doit prendre des jours à downloader, alors si en plus tout se fait par le webmail ...
UPDATE: Bon visiblement, c'est pas qu'une boite mail, c'est du web hosting, « basé sur l'idée de vous permettre de garder toutes vos données en un seul lieu accessible depuis n'importe où ».
Bon là, ca prend déjà plus de sens. A essayer pour voir ...
[^] # Re: Richarles qui ?
Posté par Obsidian . En réponse au journal Accident de voiture dans le cadre de SANE 2004. Évalué à 2.
Oui, mais il faut être deux pour la compiler ...
# Charset ?
Posté par Obsidian . En réponse au message Pb Avec La Commance Sed Sous Mandrake 9. Évalué à 3.
mais, si tu as récupéré ton script directement sur l'autre machine, il est possible qu'il y ait des caractères en trop à la fin de la ligne, ou bien un retour chariot pas codé comme il faut ...
[^] # Re: Une minute de silence
Posté par Obsidian . En réponse à la dépêche Le brevet Microsoft sur la FAT est rejeté. Évalué à 2.
Quelle ironie, n'est-ce pas ? :-)
# Le registre ?
Posté par Obsidian . En réponse au message Un logiciel libre/gratuit d'audit et d'inventaire des programmes installés sur une machine. Évalué à 3.
Si tu veux avoir une astuce ici, 'faudra pas avoir peur de mettre les mains de le cambouis. En l'occurence, il y a fort à parier que tes stats se trouvent déjà dans la base de registres à l'intention de l'ajouteur/suppresseur de programmes. Si tu y jète un oeil, t'auras probablement les infos qui t'intéressent.
Va deja chez Sysinternals http://www.sysinternals.com/(...) récupérer regmon et filemon, histoire de trouver dans quelles clés ces infos peuvent résider, et quand t'as trouvé, reviens en faire profiter tout le monde.
Bon courage.
[^] # Re: Décoration
Posté par Obsidian . En réponse au journal Puiguin contre les islamistes. Évalué à 5.
Et personnellement, défacer un site et abattre des otages ne sont pas deux choses comparables pour moi (ce qui est grave, c'est que beaucoup de personnes pensent le contraire).
[^] # Re: Mince alors !!!
Posté par Obsidian . En réponse au journal Gartner : Linux, une couverture pour installer des Windows Pirates. Évalué à 10.
Cela doit encore être une étude commandée par Microsoft ...
Ce n'est pas une simple étude commandée par Microsoft, c'est encore un des magnifiques papiers pondus par le Gartner Group ! Il suffit de jeter un oeil aux archives pour se rendre compte que leur ligne directrice a toujours été de sortir des nouvelles à sensations, sans recul ni fondement, et qui ne servent qu'à flatter les sens des grands CEO.
http://www.google.fr/custom?cof=S%3Ahttp%3A%2F%2Flinuxfr.org%3BAH%3(...)
Bref: Le Gartner Group est une équipe de trolleurs professionnels. Sur ce point, on peut dire qu'ils remplissent bien leur tâche.
[^] # Re: Chouette !
Posté par Obsidian . En réponse au journal Un juge américain annule une partie du Patriot Act. Évalué à 6.
Précisément ! C'est exactement ce genre de phrase, bien ciblée, qui fait mouche lors d'affaires comme celle-ci.
On éviterait bien des conflits avec des mots bien choisis, je crois ...
[^] # Re: Une minute de silence
Posté par Obsidian . En réponse à la dépêche Le brevet Microsoft sur la FAT est rejeté. Évalué à 0.
[^] # Re: L'occasion de s'acheter un cerveau :p
Posté par Obsidian . En réponse à la dépêche Le brevet Microsoft sur la FAT est rejeté. Évalué à 2.
[^] # Re: ...
Posté par Obsidian . En réponse au message binutils: Recherche windres désespérement !. Évalué à 3.
Oui, j'ai nagé à travers tous les Makefile et ./configure, tous générés par autoconf évidement, soit 10000 lignes minimum. J'ai essayé de changer quelques paramètres etc ...
La solution est la suivante:
S'il est conseillé de mettre une directive "--target=", tant à la construction de gcc qu'à celle des binutils, l'ignorer provoque la construction d'une suite d'outils natifs, destinés à traiter des fichiers au format adaptée à la machine sur laquelle on est censé travailler, ce qui est en général ce que l'on veut.
Or: passer cette option provoque également l'ajout d'un préfixe devant tous les noms des outils, préfixe correspondant à la cible. Ex "i686-pc-linux-gnu-ar", "i686-pc-linux-gnu-ld" pour binutils, ou "i686-pc-linux-gnu-gcc" dans le cas des compilateurs de gcc. Il est d'ailleurs précisé dans la doc que lorsque l'on invoque gcc -arch=xxxxx, c'est en fait ces exécutables qu'il va chercher.
Mais en outre, ne pas préciser de cible génère non seulement des outils natifs mais aussi sans préfixe ! Et c'est eux qui vont être invoqués en premier, même en passant une option "--arch" (dans ce cas, les suivants sont appelés par ces premiers). C'est aussi ce qui provoque la prise en charge par défaut de la machine locale.
Cela veut déjà dire qu'il est préférable de construire d'abord tous les outils et compilateurs pour toutes les plateformes croisées, et seulement enfin, les outils et compilateurs natifs.
La clé du mystère:
S'il faut effectivement créer une suite de compilateurs, un par cible (ce qui, déjà, en soi, n'est pas clair: cela ne le devient qu'implicitement, au moment où l'on apprend que passer une architecture en directive appelle l'exécutable correspondant), cela est loin d'être évident pour binutils, qui reçoit l'option --enable-targets=all, contrairement à gcc. Cette option laisse penser que l'on peut bâtir une suite d'outils visant toutes les cibles.
En fait c'est faux: Cette option ne sert qu'à activer l'accès aux différentes cibles, volontairement restreintes. Il faut en plus ajouter "--enable-64-bit-bfd" pour étendre cette sélection aux cibles 64bits telles que Sun Solaris2 sur Sparc64 (v9).
Cela implique donc de construire binutils exactement comme gcc, les deux suites partageant les mêmes répertoires, ce qui est une bonne chose. Donc reconstruire une version de binutils pour chaque cible.
C'est là que tout se dénoue: chaque build de binutils ciblant une plateforme particulière, et windres ne servant qu'à manipuler les fichiers Windows, cet outil ne sera compilé que si binutils cible explicitement cette plateforme ! Même si les sources de l'outil se trouve dans le package.
Fini ? Pas encore tout-à-fait: binutils va encore faire appel à votre intuition:
Déjà, créer un exécutable Windows n'est l'affaire que du linker "ld", et pas du compilateur, qui lui ne doit produire que du code objet pour le processeur sur lequel le système de Redmond doit tourner.
Ensuite, à votre avis, quel sera le nom de la cible ? Win32 ? Nan, Windows contamine aussi les machines 64 bits.
Il faut en fait se souvenir qu'à la naissance de Windows, sont apparus les formats NE (New Executable), puis PE (Portable Executable), encapsulés au sein d'un fichier Exe MS-DOS standard, lequel ne servant plus qu'à écrire "This program cannot run in DOS mode" à l'écran. D'ailleurs, le même format sera utilisé sur toutes les architectures, y compris non-PC. En cherchant un peu dans les BFD de binutils, on trouve donc pe-i386 et pei-i386.
D'où une cible qui marche: i386-pc-pe, pour ratisser le plus large possible.
Après l'effort, la récompense: Cette procédure fonctionne pour toutes les cibles. Vous pouvez donc essayer l'impressionnante palette de processeurs et de plateformes reconnus par gcc, et n'êtes plus obligés de débourser entre 10000 et 20000 francs ( http://fr.kelkoo.com/search.jsp?catId=100164013&siteSearchQuery(...) ) pour profiter d'un compilateur performant, et surtout vous n'avez plus de raisons de rebooter:
Un seul tarball, un seul makefile, et votre application fonctionnera partout. Quelques NFS/SMBmount judicieux, voire des montages de partitions, et tout votre pôle de développement sera centralisé !
Bon je poste tout cela en astuce ou j'écris un HOWTO ? :-)