Au passage j'ai eu l'occasion de jouer avec et j'ai pas trouve l'api vraiement genial :
- pas de methode seek, tout passe par un read, du coup si on veut faire un truc un peu optimiser (c'est deja assez lent comme ca), une des premiere chose qu'on fait dans le read c'est de regarder si on a fait un seek
- pas moyen de preciser forcer un blocksize pour l'ecriture/lecture. Du coup on doit passer par des buffers intermediares/se prendre la tete qd on commence/fini au milieu d'un block
- pas de reel gestion de cache : par default fuse lit par page, du coup on lit beaucoup, on attend que le buffer se vide, on relit beaucoup, ce qui peut parfois entraine des delai lors de la lecture sur des medias lent.
Je dis pas que soit doit forcement etre implementer dans le noyau, mais au moins la lib fuse pourrait proposer des solutions generiques pour eviter d'avoir a coder plus de glue generique que le reste...
Tu peux aussi regarder du coter de NX freeNX pour le login a distance : je crois qu'il ont des clients windows et le son/montage samba devrait passe (j'ai pas teste non plus)...
Ca devrait etre aussi beaucoup plus fluide.
C'est quoi l'interet, xorg marche tres bien sous windows, y a meme un livecd pour windows qu'il l'a (je n'ai plus le nom, mais c'etait fait par des indiens).
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...
[^] # Re: FUSE
Posté par M . En réponse au journal Traducteurs : LeHurd vs Linux !. Évalué à 3.
- pas de methode seek, tout passe par un read, du coup si on veut faire un truc un peu optimiser (c'est deja assez lent comme ca), une des premiere chose qu'on fait dans le read c'est de regarder si on a fait un seek
- pas moyen de preciser forcer un blocksize pour l'ecriture/lecture. Du coup on doit passer par des buffers intermediares/se prendre la tete qd on commence/fini au milieu d'un block
- pas de reel gestion de cache : par default fuse lit par page, du coup on lit beaucoup, on attend que le buffer se vide, on relit beaucoup, ce qui peut parfois entraine des delai lors de la lecture sur des medias lent.
Je dis pas que soit doit forcement etre implementer dans le noyau, mais au moins la lib fuse pourrait proposer des solutions generiques pour eviter d'avoir a coder plus de glue generique que le reste...
[^] # Re: ...
Posté par M . En réponse au journal Starnet Communications Offre un Serveur X Gratuit. Évalué à 3.
Ca devrait etre aussi beaucoup plus fluide.
# ...
Posté par M . En réponse au journal Starnet Communications Offre un Serveur X Gratuit. Évalué à 3.
[^] # 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.