Bon reprenons :
Imaginons que j'ai une zone de memoire contenant des donnees :
la taille coder sur 1 octet,
l'info y est coder sur 2 octets
l'info z est coder sur 4 octets
int *i = debut de la zone memoire
(char)*i = taille;
(uint16)*i = htons(y);
*i = htonl(z);
Bon apres tu utilise une structure packed si les champs sont fixe, mais c'est pas toujours le cas. La sol propre est de declarer 3 pointeur, un pour chaque type...
pas forcement : (char) *i, ca revient a declarer char *p = i;
Apres vu que t'ecris qu'un octet ca sera la meme chose sur toute les archi, puis si tu ecris par par block de 32 bits (c'est bien pour ca qu'on avais choisi un int*) alors tu peux toujours utiliser des macro du type cpu_le32, htonl qui te fond la conversion suivant les archi...
D'ailleur si cela avait avoir avec la portabilite ca ferait longtemps que ca serait corrige dans certaines distributions multi-archi.
non je pense qu'il etait dans l'esprit multisesions ou tu n'ecrasse rien (normal puisque ca marche aussi sur des cd non reinscriptible) et tu continue d'ajouter des sesion a la suite et tu peux supprimer des fichiers en ne les mettant pas dans la nouvelle toc (du moins c'est ce que je suppose).
Faut dire que sur le coup linux a beaucoup de retard la dessus, ca marchais parfaitement sous windows il y a plus de 5 ans (sous linux y a encore des pb avec des dvd par exemple).
Aujourd'hui avec les clefs usb, vu la lenteur du machin ca devient plus tres interessant...
PS : sous windows on pouvait meme faire mieux : on pouvait compresser le volume et qd on mettait le disque sur une nouvelle machine qui ne supportait pas le format, on voyait une sesion du cd qui contenait un README avec les executable pour lire le machin (je sais pas tres portable...)
Je comprends bien le problème, mais ce que je demandais, c'est pourquoi les changement apportés entre Gcc 3 et Gcc 4 n'ont pas été fait "tout de suite" pour la version 3.
Pour laisser le temps aux developpeurs de corriger les pb :
gcc 3 : attention : use of cast expressions as lvalues is deprecated
gcc 4 : error: invalid lvalue in assignment
Et ils ne pourraient pas faire "tout de suite" une version moins tolérantes, plutôt que changer un peu à chaque release ? Il y a déjà des projets qui ne compilent qu'avec un Gcc 2.XX ou 3.XX, s'il faut encore différencier entre gcc3.XX et Gcc 4.XX, j'imagine le casse-tête pour ceux qui font des distributions.
Si tout le monde respectait les standards et ne jouait pas avec certaines features, ca serait beaucoup moins problematique...
Par contre pour la comp binaire tu parle de quoi ?
Pour le C il me semble que ca pas changer depuis tres longtemps, pour le c++ ca commence a etre bien stabilisee...
. In fact, Linus has already begun working on a simplistic tool that takes advantage of Linux performance features. This effort has been aided by Larry, who added that it was also good for BitMover, as a Linux-only tool would not be competition to BitKeeper, whose largest market is on Windows.
Ca ce trouve il va se faire sa moulinette, un peu comme il avait avec sparse...
Il serait ptet temps de migrer vers tla/baz/baz-ng :)
D'apres ce que j'avais vu sur un site proposant une archive tla du noyau linux (heberger par debian si mes souvenirs sont bon), tla est tres lent et mal adapte pour les gros projet avec plein de changesets (64,000 pour linux d'apres l'article). De plus il me semble qu'il ne gerait pas de cache.
ca depend ce que tu compile, ca reduit un peu les acces disque mais faut vraiment qu'il y ai plein de petit fichier pour que ce soit visible, surtout que gcc a une option --pipe..
Si oui est-ce bien dans /dev/shm/ qu'il faut le monter (c'est là qu'il se met tout seul) ?
Non celui la sert pour les commende posix shmopen,...
Il faut que tu le monte ou son stocker tes fichier temporaire de compil ( /tmp ?)
Non ca ne reserve pas de mem, mais par contre si y a des fichiers dessus ca te la bouffe...
[^] # Re: Ce n'est pas spécifique à gcc 4
Posté par M . En réponse au journal De gcc3 à gcc4 : Un code plus propre ?. Évalué à 2.
Donc si t'as char *p = px; et t'affiche le contenu de *p ca sera le meme...
[^] # Re: Ce n'est pas spécifique à gcc 4
Posté par M . En réponse au journal De gcc3 à gcc4 : Un code plus propre ?. Évalué à 2.
Imaginons que j'ai une zone de memoire contenant des donnees :
la taille coder sur 1 octet,
l'info y est coder sur 2 octets
l'info z est coder sur 4 octets
int *i = debut de la zone memoire
(char)*i = taille;
(uint16)*i = htons(y);
*i = htonl(z);
Bon apres tu utilise une structure packed si les champs sont fixe, mais c'est pas toujours le cas. La sol propre est de declarer 3 pointeur, un pour chaque type...
[^] # Re: Ce n'est pas spécifique à gcc 4
Posté par M . En réponse au journal De gcc3 à gcc4 : Un code plus propre ?. Évalué à 2.
Apres vu que t'ecris qu'un octet ca sera la meme chose sur toute les archi, puis si tu ecris par par block de 32 bits (c'est bien pour ca qu'on avais choisi un int*) alors tu peux toujours utiliser des macro du type cpu_le32, htonl qui te fond la conversion suivant les archi...
D'ailleur si cela avait avoir avec la portabilite ca ferait longtemps que ca serait corrige dans certaines distributions multi-archi.
[^] # Re: Sacré langage!
Posté par M . En réponse à la dépêche Journées Perl 2005. Évalué à 2.
[^] # Re: Et pour la suppression ?
Posté par M . En réponse au journal Le packet writing avec une Fedora : que du bonheur !. Évalué à 4.
[^] # Re: ...
Posté par M . En réponse au journal Le packet writing avec une Fedora : que du bonheur !. Évalué à 2.
[^] # Re: Ce n'est pas spécifique à gcc 4
Posté par M . En réponse au journal De gcc3 à gcc4 : Un code plus propre ?. Évalué à 2.
[^] # Re: Ce n'est pas spécifique à gcc 4
Posté par M . En réponse au journal De gcc3 à gcc4 : Un code plus propre ?. Évalué à 3.
int *i;
alors avec (char)*i = 'c' tu ecris que 1 octet en memoire
et avec *i = 'c' tu ecris 4 octets ( c est transforme en int)
[^] # Re: Et pour la suppression ?
Posté par M . En réponse au journal Le packet writing avec une Fedora : que du bonheur !. Évalué à 4.
# ...
Posté par M . En réponse au journal Le packet writing avec une Fedora : que du bonheur !. Évalué à 10.
Aujourd'hui avec les clefs usb, vu la lenteur du machin ca devient plus tres interessant...
PS : sous windows on pouvait meme faire mieux : on pouvait compresser le volume et qd on mettait le disque sur une nouvelle machine qui ne supportait pas le format, on voyait une sesion du cd qui contenait un README avec les executable pour lire le machin (je sais pas tres portable...)
[^] # Re: Ce n'est pas spécifique à gcc 4
Posté par M . En réponse au journal De gcc3 à gcc4 : Un code plus propre ?. Évalué à 7.
Pour laisser le temps aux developpeurs de corriger les pb :
gcc 3 : attention : use of cast expressions as lvalues is deprecated
gcc 4 : error: invalid lvalue in assignment
[^] # Re: Ce n'est pas spécifique à gcc 4
Posté par M . En réponse au journal De gcc3 à gcc4 : Un code plus propre ?. Évalué à 5.
De plus les commentaire a la C sont suporte dans le standard C99, donc pas de probleme...
Le probleme viennet plus de certaines magouilles tel que :
int i;
(char)i = 'c'
[^] # Re: La solution
Posté par M . En réponse au journal De gcc3 à gcc4 : Un code plus propre ?. Évalué à 2.
[^] # Re: Ce n'est pas spécifique à gcc 4
Posté par M . En réponse au journal De gcc3 à gcc4 : Un code plus propre ?. Évalué à 3.
Si tout le monde respectait les standards et ne jouait pas avec certaines features, ca serait beaucoup moins problematique...
Par contre pour la comp binaire tu parle de quoi ?
Pour le C il me semble que ca pas changer depuis tres longtemps, pour le c++ ca commence a etre bien stabilisee...
# asterisk
Posté par M . En réponse à la dépêche SFLphone 0.3 est arrivé. Évalué à 2.
[^] # Re: Vraiment ?
Posté par M . En réponse à la dépêche Wikipédia sera hébergée par Yahoo!. Évalué à 3.
il me semble que j'avais vu ca sur /. (http://slashdot.org/article.pl?sid=05/04/07/1319259&tid=162&(...) )
# ...
Posté par M . En réponse au message ICEWM : Comment avoir un background par desktop ?. Évalué à 3.
# ...
Posté par M . En réponse au message Motorola 68000. Évalué à 2.
Tu veux dire que les programmes compile tourne sous windows ?
Le debugger serait aussi un emulateur ?
[^] # Re: Utilitée ?
Posté par M . En réponse à la dépêche Mandrake devient Mandriva. Évalué à 1.
Elle est au fond du placard
# http://unichrome.sourceforge.net/
Posté par M . En réponse au journal VIA publie en libre téléchargement le source de ses drivers graphiques. Évalué à 6.
M'enfin c'est pas la premiere fois que via libere ces driver (cf carte graphique de portable) et si ca peu aider certains...
[^] # Re: Légerement hors sujet (enfin...)
Posté par M . En réponse au journal D après Présence PC on peut décoder la TNT avec un disque dur.. Évalué à 3.
Le tuner est different et puis ensuite tu recoit des donne compresse...
[^] # Re: tla
Posté par M . En réponse au journal BitKeeper lache la version gratuite ;). Évalué à 4.
[^] # Re: Et Linus?
Posté par M . En réponse au journal BitKeeper lache la version gratuite ;). Évalué à 3.
Ca ce trouve il va se faire sa moulinette, un peu comme il avait avec sparse...
# tla
Posté par M . En réponse au journal BitKeeper lache la version gratuite ;). Évalué à 5.
D'apres ce que j'avais vu sur un site proposant une archive tla du noyau linux (heberger par debian si mes souvenirs sont bon), tla est tres lent et mal adapte pour les gros projet avec plein de changesets (64,000 pour linux d'apres l'article). De plus il me semble qu'il ne gerait pas de cache.
Ca a peut etre changer...
# ...
Posté par M . En réponse au message De l'intérêt du tmpfs. Évalué à 3.
ca depend ce que tu compile, ca reduit un peu les acces disque mais faut vraiment qu'il y ai plein de petit fichier pour que ce soit visible, surtout que gcc a une option --pipe..
Si oui est-ce bien dans /dev/shm/ qu'il faut le monter (c'est là qu'il se met tout seul) ?
Non celui la sert pour les commende posix shmopen,...
Il faut que tu le monte ou son stocker tes fichier temporaire de compil ( /tmp ?)
Non ca ne reserve pas de mem, mais par contre si y a des fichiers dessus ca te la bouffe...