En supposant que je développe et exécute un programme C sur une
plateforme 32 bits :
Quelqu'un pourrait-il m'écrire le programme C le plus simple et le plus
portable possible qui, en s'appuyant sur le standard POSIX d'accès au
fichiers [ dont la longueur est codée sur ] 64 bits, permet d'afficher à
l'écran la taille du fichier dont le nom est fourni en argument unique
au programme, et de permuter le premier KiO et le dernier KiO de données
de ce fichier si celui-ci a une taille d'au moins 2 KiO ?
Sans blague, c'est très important.
Si mon environnement de développement/exécution est Debian GNU Linux
stable 3.1 (sarge) avec Linux 2.6.15+ sur IA-32 (686 par exemple),
dois-je incorporer des particularités à mon programme ?
Dois-je invoquer gcc avec le paramètre -D_FILE_OFFSET_BITS=64 ?
Ou dois-je définir une macro ainsi : #define _FILE_OFFSET_BITS 64
et avant quelle(s) inclusion(s) d'entête(s) placer cette macro ?
Ce programme source en C sera-t-il prêt à l'emploi pour les
environnements mingw ou cygwin ?
En supposant que je développe et exécute un programme C sur une plateforme 32 bits :
Quelqu'un pourrait-il m'écrire le programme C le plus simple et le plus
Non, tu vas l'écrire.
portable possible qui, en s'appuyant sur le standard POSIX d'accès au fichiers [ dont la longueur est codée sur ] 64 bits, permet d'afficher à l'écran la taille du fichier dont le nom est fourni en argument unique au programme,
<HS> Voir fonctions stat()/fstat() et membre st_size de la structure stat. </HS>
et de permuter le premier KiO et le dernier KiO de données de ce fichier si celui-ci a une taille d'au moins 2 KiO ?
Voir stdio, faisable en C standard.
Sans blague, c'est très important.
Pourquoi ?
Si mon environnement de développement/exécution est Debian GNU Linux stable 3.1 (sarge) avec Linux 2.6.15+ sur IA-32 (686 par exemple), dois-je incorporer des particularités à mon programme ?
Il te faut ce qu'il faut dans le source et il te faut compiler avec les bonnes options. Plus exactement, tu utiliseras certainement des fonctions qui ne font pas partie de la bibliothèque standard du langage C, comme stat(), donc il te faut réfléchir à propos de ce qu'il faut ajouter (Quel entête ? Quelle bibliothèque supplémentaire ? Comment indiquer tout cela à mon compilateur ? ec...).
Dois-je invoquer gcc avec le paramètre -D_FILE_OFFSET_BITSd ? Ou dois-je définir une macro ainsi : #define _FILE_OFFSET_BITS 64 et avant quelle(s) inclusion(s) d'entête(s) placer cette macro ?
Ce programme source en C sera-t-il prêt à l'emploi pour les environnements mingw ou cygwin ?
Peut-être.
A+ Regis
Bonjour,
Bonjour,
En supposant que je développe et exécute un programme C sur une
plateforme 32 bits :
Quelqu'un pourrait-il m'écrire le programme C le plus simple et le plus
Non, tu vas l'écrire.
portable possible qui, en s'appuyant sur le standard POSIX d'accès au
fichiers [ dont la longueur est codée sur ] 64 bits, permet d'afficher à
l'écran la taille du fichier dont le nom est fourni en argument unique
au programme,
<HS>
Voir fonctions stat()/fstat() et membre st_size de la structure stat.
</HS>
et de permuter le premier KiO et le dernier KiO de données
de ce fichier si celui-ci a une taille d'au moins 2 KiO ?
Voir stdio, faisable en C standard.
Sans blague, c'est très important.
Pourquoi ?
Si mon environnement de développement/exécution est Debian GNU Linux
stable 3.1 (sarge) avec Linux 2.6.15+ sur IA-32 (686 par exemple),
dois-je incorporer des particularités à mon programme ?
Il te faut ce qu'il faut dans le source et il te faut compiler avec les
bonnes options. Plus exactement, tu utiliseras certainement des
fonctions qui ne font pas partie de la bibliothèque standard du
langage C, comme stat(), donc il te faut réfléchir à propos de ce
qu'il faut ajouter (Quel entête ? Quelle bibliothèque supplémentaire
? Comment indiquer tout cela à mon compilateur ? ec...).
Dois-je invoquer gcc avec le paramètre -D_FILE_OFFSET_BITS=64 ?
Ou dois-je définir une macro ainsi : #define _FILE_OFFSET_BITS 64
et avant quelle(s) inclusion(s) d'entête(s) placer cette macro ?
Ce programme source en C sera-t-il prêt à l'emploi pour les
environnements mingw ou cygwin ?
En supposant que je développe et exécute un programme C sur une plateforme 32 bits :
Quelqu'un pourrait-il m'écrire le programme C le plus simple et le plus
Non, tu vas l'écrire.
portable possible qui, en s'appuyant sur le standard POSIX d'accès au fichiers [ dont la longueur est codée sur ] 64 bits, permet d'afficher à l'écran la taille du fichier dont le nom est fourni en argument unique au programme,
<HS> Voir fonctions stat()/fstat() et membre st_size de la structure stat. </HS>
et de permuter le premier KiO et le dernier KiO de données de ce fichier si celui-ci a une taille d'au moins 2 KiO ?
Voir stdio, faisable en C standard.
Sans blague, c'est très important.
Pourquoi ?
Si mon environnement de développement/exécution est Debian GNU Linux stable 3.1 (sarge) avec Linux 2.6.15+ sur IA-32 (686 par exemple), dois-je incorporer des particularités à mon programme ?
Il te faut ce qu'il faut dans le source et il te faut compiler avec les bonnes options. Plus exactement, tu utiliseras certainement des fonctions qui ne font pas partie de la bibliothèque standard du langage C, comme stat(), donc il te faut réfléchir à propos de ce qu'il faut ajouter (Quel entête ? Quelle bibliothèque supplémentaire ? Comment indiquer tout cela à mon compilateur ? ec...).
Dois-je invoquer gcc avec le paramètre -D_FILE_OFFSET_BITSd ? Ou dois-je définir une macro ainsi : #define _FILE_OFFSET_BITS 64 et avant quelle(s) inclusion(s) d'entête(s) placer cette macro ?
Ce programme source en C sera-t-il prêt à l'emploi pour les environnements mingw ou cygwin ?
Peut-être.
A+ Regis
Antoine Leca
En news:44567abc$0$20148$, Hercule POIROT va escriure:
En supposant que je développe et exécute un programme C sur une plateforme 32 bits :
Quelqu'un pourrait-il m'écrire le programme C le plus simple et le plus portable possible qui, en s'appuyant sur le standard POSIX d'accès au fichiers [ dont la longueur est codée sur ] 64 bits,
Ouh là là. On en est déjà à deux suppositions sur les tailles de certaines quantités... Résultat, il est probable que la portabilité ne sera pas la plus grande possible, il va falloir se reporter sur un sous-ensemble de la norme C (et pour autant, aller sur le groupe correspondant pour avoir une solution toute faite).
Par exemple, puisque tu as parlé de*s* norme*s* Posix, tu pourrais peut-être essayer sur le groupe concerné ?
permet d'afficher à l'écran la taille du fichier
Définit « taille de fichier ». Longueur des données ? Espace de stockage alloué ? utilisé ? Autre chose encore ? Et l'unité ?
dont le nom est fourni en argument unique au programme, et de permuter le premier KiO et le dernier KiO de données de ce fichier si celui-ci a une taille d'au moins 2 KiO ?
(Comme il y a un piège dans l'énoncé, j'aide pour celui-là):
Si mon environnement de développement/exécution est Debian GNU Linux stable 3.1 (sarge) avec Linux 2.6.15+ sur IA-32 (686 par exemple), dois-je incorporer des particularités à mon programme ?
Et poser la question sur un groupe Linux ?
(En gros, il y a deux manières de faire, l'une est théoriquement plus portable que l'autre, l'autre était en pratique plus portable que l'une. Je n'ai aucune idée de comment cela s'articule dans ton cas particulier. Qui, en plus, ne précise pas quel est ton environnement de développement... Et pour moi, sarge=2.4.27, éventuellement 2.6.8.1.)
Ce programme source en C sera-t-il prêt à l'emploi pour les environnements mingw ou cygwin ?
Tel quel, non. Il faut préciser des contraintes (versions, par exemple) pour traiter correctement des fichiers de plus de 2/4Go, tant avec cygwin qu'avec mingw, ou quelqu'autre environnement que ce soit d'ailleurs.
Antoine
En news:44567abc$0$20148$8fcfb975@news.wanadoo.fr, Hercule POIROT va
escriure:
En supposant que je développe et exécute un programme C sur une
plateforme 32 bits :
Quelqu'un pourrait-il m'écrire le programme C le plus simple et le
plus portable possible qui, en s'appuyant sur le standard POSIX
d'accès au fichiers [ dont la longueur est codée sur ] 64 bits,
Ouh là là. On en est déjà à deux suppositions sur les tailles de certaines
quantités... Résultat, il est probable que la portabilité ne sera pas la
plus grande possible, il va falloir se reporter sur un sous-ensemble de la
norme C (et pour autant, aller sur le groupe correspondant pour avoir une
solution toute faite).
Par exemple, puisque tu as parlé de*s* norme*s* Posix, tu pourrais peut-être
essayer sur le groupe concerné ?
permet d'afficher à l'écran la taille du fichier
Définit « taille de fichier ». Longueur des données ? Espace de stockage
alloué ? utilisé ? Autre chose encore ? Et l'unité ?
dont le nom est
fourni en argument unique au programme, et de permuter le premier KiO
et le dernier KiO de données de ce fichier si celui-ci a une taille
d'au moins 2 KiO ?
(Comme il y a un piège dans l'énoncé, j'aide pour celui-là):
Si mon environnement de développement/exécution est Debian GNU Linux
stable 3.1 (sarge) avec Linux 2.6.15+ sur IA-32 (686 par exemple),
dois-je incorporer des particularités à mon programme ?
Et poser la question sur un groupe Linux ?
(En gros, il y a deux manières de faire, l'une est théoriquement plus
portable que l'autre, l'autre était en pratique plus portable que l'une. Je
n'ai aucune idée de comment cela s'articule dans ton cas particulier. Qui,
en plus, ne précise pas quel est ton environnement de développement...
Et pour moi, sarge=2.4.27, éventuellement 2.6.8.1.)
Ce programme source en C sera-t-il prêt à l'emploi pour les
environnements mingw ou cygwin ?
Tel quel, non. Il faut préciser des contraintes (versions, par exemple) pour
traiter correctement des fichiers de plus de 2/4Go, tant avec cygwin qu'avec
mingw, ou quelqu'autre environnement que ce soit d'ailleurs.
En news:44567abc$0$20148$, Hercule POIROT va escriure:
En supposant que je développe et exécute un programme C sur une plateforme 32 bits :
Quelqu'un pourrait-il m'écrire le programme C le plus simple et le plus portable possible qui, en s'appuyant sur le standard POSIX d'accès au fichiers [ dont la longueur est codée sur ] 64 bits,
Ouh là là. On en est déjà à deux suppositions sur les tailles de certaines quantités... Résultat, il est probable que la portabilité ne sera pas la plus grande possible, il va falloir se reporter sur un sous-ensemble de la norme C (et pour autant, aller sur le groupe correspondant pour avoir une solution toute faite).
Par exemple, puisque tu as parlé de*s* norme*s* Posix, tu pourrais peut-être essayer sur le groupe concerné ?
permet d'afficher à l'écran la taille du fichier
Définit « taille de fichier ». Longueur des données ? Espace de stockage alloué ? utilisé ? Autre chose encore ? Et l'unité ?
dont le nom est fourni en argument unique au programme, et de permuter le premier KiO et le dernier KiO de données de ce fichier si celui-ci a une taille d'au moins 2 KiO ?
(Comme il y a un piège dans l'énoncé, j'aide pour celui-là):
Si mon environnement de développement/exécution est Debian GNU Linux stable 3.1 (sarge) avec Linux 2.6.15+ sur IA-32 (686 par exemple), dois-je incorporer des particularités à mon programme ?
Et poser la question sur un groupe Linux ?
(En gros, il y a deux manières de faire, l'une est théoriquement plus portable que l'autre, l'autre était en pratique plus portable que l'une. Je n'ai aucune idée de comment cela s'articule dans ton cas particulier. Qui, en plus, ne précise pas quel est ton environnement de développement... Et pour moi, sarge=2.4.27, éventuellement 2.6.8.1.)
Ce programme source en C sera-t-il prêt à l'emploi pour les environnements mingw ou cygwin ?
Tel quel, non. Il faut préciser des contraintes (versions, par exemple) pour traiter correctement des fichiers de plus de 2/4Go, tant avec cygwin qu'avec mingw, ou quelqu'autre environnement que ce soit d'ailleurs.
Antoine
Targeur fou
Bonjour,
Bonjour,
[coupé]
et de permuter le premier KiO et le dernier KiO de données de ce fichier si celui-ci a une taille d'au moins 2 KiO ?
Voir stdio, faisable en C standard.
Euh, non, pas avec des fichiers 64 bits en fait, mais tu devrais trouver des fonctions de noms proches dans d'autres API avec 64 comme suffixe ( fopen64() ).
A+ Regis
Bonjour,
Bonjour,
[coupé]
et de permuter le premier KiO et le dernier KiO de données
de ce fichier si celui-ci a une taille d'au moins 2 KiO ?
Voir stdio, faisable en C standard.
Euh, non, pas avec des fichiers 64 bits en fait, mais tu devrais
trouver des fonctions de noms proches dans d'autres API avec 64 comme
suffixe ( fopen64() ).
et de permuter le premier KiO et le dernier KiO de données de ce fichier si celui-ci a une taille d'au moins 2 KiO ?
Voir stdio, faisable en C standard.
Euh, non, pas avec des fichiers 64 bits en fait, mais tu devrais trouver des fonctions de noms proches dans d'autres API avec 64 comme suffixe ( fopen64() ).