Bonjour,
J’ai un petit souci avec le logiciel vcp. Il possède une limite dans la taille des fichiers à transférer (à environ 2Gio). Comme celui-ci est libre et ne semble plus être maintenu, je vais essayer de le reprendre (mais ça risque de mettre du temps car je manque de temps à y consacrer).
Quoi qu’il en soit une première inspection du code m’a permis d’identifier un premier coupable : l’appel système stat. En effet il ne peut pas gérer des fichiers de plus de 2 Gios environs.
vcp est un logiciel pouvant fonctionner sous GNU/Linux comme sous les principales BSD (Free, Net et Open). J’espère garder cette portabilité.
Bref tout ça pour vous demander si les éventuels utilisateurs de GNU/Linux en 64bits et de BSD (voir de Solaris) pouvaient me dire si ces SE possèdent les même limites. Pour cela vous pouvez soit executer la commande man 2 stat
et me rapporter s’il en est fait mention dans la section erreur.
Soit utiliser un petit logiciel et le tester sur plusieurs fichiers de quelques Gio chacun. Le programme se contente de dire la taille de chaque fichier que vous lui passez en paramètre. Le voici :
[code]#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
int main(int argc, char** argv){
int i, ret = 0;
struct stat s;
if(argc <= 1){
printf(“Vous devez donner un fichier en parametre.\n”);
ret = 2;
}
for(i = 1; i < argc; ++i){
if(stat(argv[i], &s) == -1){
printf(“Erreur dans le stat sur le fichier %s.\n”, argv[i]);
ret = 1;
}
else{
printf(“Le fichier %sa etait analyse correctement.\n”, argv[i]);
}
}
return ret;
}[/code]
Pour le compiler il suffit d’executer la commande (si vous l’avez enregistré dans le fichier stat.c) :
Je crois (espère) que ce code est portable sur tout POSIX.
Merci de m’aider. Pour ceux qui attendraient que je mette en place une forge c’est en cours mais je ne peux pour le moment pas uploader le code source avant ce week end.