Problème compatibilité librairie MAC et UBUNTU
Fermé
LUFFYroooo
Messages postés
14
Date d'inscription
dimanche 24 mars 2013
Statut
Membre
Dernière intervention
6 juillet 2017
-
Modifié le 3 juil. 2017 à 06:26
LUFFYroooo Messages postés 14 Date d'inscription dimanche 24 mars 2013 Statut Membre Dernière intervention 6 juillet 2017 - 6 juil. 2017 à 22:25
LUFFYroooo Messages postés 14 Date d'inscription dimanche 24 mars 2013 Statut Membre Dernière intervention 6 juillet 2017 - 6 juil. 2017 à 22:25
A voir également:
- Problème compatibilité librairie MAC et UBUNTU
- Adresse mac - Guide
- Nettoyer mac - Guide
- Compatibilite windows 11 - Guide
- Ubuntu iso - Télécharger - Systèmes d'exploitation
- @ Sur mac - Guide
1 réponse
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
3 juil. 2017 à 12:39
3 juil. 2017 à 12:39
Salut LUFFYroooo,
1. rien ne garantit que readdir() renvoie un résultat classé
2. ls, en revanche doit renvoyer par défaut un résultat classé alphabétiquement, sauf options particulières
3. si tu veux te reposer sur une fonction POSIX faisant le travail pour toi, tu peux utiliser scandir()
4. tu peux aussi faire le tri toi même
Dal
1. rien ne garantit que readdir() renvoie un résultat classé
2. ls, en revanche doit renvoyer par défaut un résultat classé alphabétiquement, sauf options particulières
3. si tu veux te reposer sur une fonction POSIX faisant le travail pour toi, tu peux utiliser scandir()
4. tu peux aussi faire le tri toi même
Dal
3 juil. 2017 à 19:42
Mais justement, sur MAC(du moins a mon ecole (42)) la fonction readdir renvoie le résultat classer par ordre ASCII tandis que sur Ubuntu non !
Je n'est pas le droit d utiliser la fonction scandir() dans le cadre de mon projet a part si je recode cette fonction.
Et pour le trie, je ne peux pas faire de trie car je ne veux rien stocker pour que le programme sois trés rapide sur un "ls -R /", je profite donc du fait que sur mac le resultat sois trié !
Le temps gagner est peut etre infime pour un humain, mais je n'ai pas non plus le droit de dépasser ma stack ! C est pour cela que je ne veux pas stocker les donnés (meme si, je suis d'accord que sa resouderais mon probleme)
Merci !
Modifié le 4 juil. 2017 à 10:45
Si tu te bases sur le fait que l’implémentation de readir sous Mac serait classée, ton code pour ls sera plus rapide, mais ne sera pas portable (sous réserve, que, effectivement, tu puisses considérer comme acquis que ce comportement sous Mac est avéré - est-il spécifié dans une documentation officielle d'Apple ?).
Si la question de la portabilité n'est pas un problème pour toi, dans ton cas, tant mieux, et alors je ne vois pas quelle "solution" à quel problème tu cherches.
Est-ce que tu cherches seulement à simuler sous Linux, pour les besoins de ton développement sous Linux seulement, le comportement de readir sous Mac ?
Dal
5 juil. 2017 à 22:40
The readdir() function returns a pointer to the next directory entry. It returns NULL upon reaching
the end of the directory or on error. In the event of an error, errno will be set to any of the values
documented for the getdirentries(2) system call.
DOnc je ne pense pas que ca sois specifier ! Non la portabilite n est pas un probleme pour le moment, je cherchais juste un moyen d'obtenir le meme resultat, je ferais comme si !
Merci pour ta reponse ! :)
6 juil. 2017 à 10:54
Modifié le 6 juil. 2017 à 22:25
Merci pour tout, j essayerais ce que tu ma dis pour voir le résultat quand même !