Ce n'est pas comme ça que tu dois le comprendre. Si tu nous casserais les pieds on passerait au message suivant sans rien écrire.
Simplement tes essais infructueux sont pas clairs, on a juste droit à des "ça ne marche pas" comme bug reports (exception faite de ton dernier message), et c'est ça qui "énerve". Et pour ton dernier message, il ne s'agit que d'un warning (autrement dit pas quelque chose de grave) et le résoudre est on ne peut plus simple - il suffit juste de s'assurer que main() renvoie un int...
Pour voir les messages du programme, il faut ouvrir la fenêtre de log, menu Debug-> Run Log
Tu peux constaster, également, que le fichier "decimales_de_pi" est bien créé, il se trouve au même niveau que l'exécutable (dossier Build/Debug ou Build/Release)
Un projet "standard tool" produit un simple exécutable (sans interface) que l'on peut lancer à l'aide du terminal: - lance le prg Terminal (dans Applications/Utilitaires) une fenêtre s'ouvre - glisse l'exécutable CalculPI dans cette fenêtre et appuie sur entrée
Mon code n'a rien d'un modèle, c'est juste un exemple, mon but étant de faire au plus simple pour moi, c'est à dire avec le minimum de modifs
Le truc du fichier temporaire me plait pas trop, je pense qu'il vaut mieux utiliser un classique tampon de données pour le résultat (mais c'était plus compliqué pour moi ...)
D'autre part, il y a pas mal d'améliorations possibles, par exemple, le prog est bloqué pendant tout le calcul, donc il serait bien d'effectuer ce calcul dans un thread (en cocoa c'est pas compliqué) et cerise sur le gateau: faire une barre progression montrant l'avancé du calcul avec un bouton permettant d'annuler d'opération.
Pour la barre de progression, en regardant le code, c'est pas évident au premier coup d'½il, mais avec un peu de réflection et de méthode, ça ne devrait pas poser de problème.
Je n'ai pas regardé à ton code sur Pi alors, la réponse à la première question est peut-être complétement fausse.
char* resultat doit être un tableau dans lequel sont stockées les décimales. En effet, char est codé sur un octet (8 bits) et donc cela suffit amplement pour les chiffres de 0 à 9 (j'imagine que le calcul est fait en décimal et pas en hexa ). Ensuite, tu dois parcourir le tableau sachant de le nombre d'éléments dans ce tableau doit être nbDecimales. A vérifier auprès de mpergand.
Ensuite pour return NSApplicationMain(argc, (const char **) argv);, tu ne te poses pas de questions et surtout, s'il s'agit d'une appli Cocoa, évite de la modifier. IL s'agit de la ligne qui permet le lancement de l'appli en elle-même, c'est-à -dire l'initialisation des objets, le chargement des nibs, etc ... Il s'agit donc de la ligne qui permet le fonctionnement de ton appli (sache que dans la plupart des applis, on ne modifie pas main.m, c'est tout bonnement inutile ).
Réponses
Mais ce que je comprends, c'est que mes essais sont très infructueux et que je vous casse les pieds !
Mais déception : trois fois plus lent que sous OS 9 ! Alors, pourquoi OS X ???
Simplement tes essais infructueux sont pas clairs, on a juste droit à des "ça ne marche pas" comme bug reports (exception faite de ton dernier message), et c'est ça qui "énerve". Et pour ton dernier message, il ne s'agit que d'un warning (autrement dit pas quelque chose de grave) et le résoudre est on ne peut plus simple - il suffit juste de s'assurer que main() renvoie un int...
Pour voir les messages du programme, il faut ouvrir la fenêtre de log, menu Debug-> Run Log
Tu peux constaster, également, que le fichier "decimales_de_pi" est bien créé, il se trouve au même niveau que l'exécutable (dossier Build/Debug ou Build/Release)
Un projet "standard tool" produit un simple exécutable (sans interface) que l'on peut lancer à l'aide du terminal:
- lance le prg Terminal (dans Applications/Utilitaires) une fenêtre s'ouvre
- glisse l'exécutable CalculPI dans cette fenêtre et appuie sur entrée
[Fichier joint supprimé par l'administrateur]
Oui, j'avais repéré le fichier décimales-de-pi ..
que peut-on faire d'autre d'un "standard tool" ?
J'utilise un fichier temporaire pour récupérer les données.
[Fichier joint supprimé par l'administrateur]
Je vais étudier les ajouts faits à mon programme C et je pense en tirer beaucoup !
Je ne voyais pas du tout comment utiliser du C dans Cocoa.
J'ai donc construit mon fichier Nib et ...ça marche ! et aussi vite que mon programme original (CodeWarrior/OS9).
Merci encore.
Te voilà les 2 pieds dans Cocoa ! Fais gaffe, ca devient vite une drogue ;D
Mon code n'a rien d'un modèle, c'est juste un exemple, mon but étant de faire au plus simple pour moi, c'est à dire avec le minimum de modifs
Le truc du fichier temporaire me plait pas trop, je pense qu'il vaut mieux utiliser un classique tampon de données pour le résultat (mais c'était plus compliqué pour moi ...)
D'autre part, il y a pas mal d'améliorations possibles, par exemple, le prog est bloqué pendant tout le calcul, donc il serait bien d'effectuer ce calcul dans un thread (en cocoa c'est pas compliqué) et cerise sur le gateau: faire une barre progression montrant l'avancé du calcul avec un bouton permettant d'annuler d'opération.
Pour la barre de progression, en regardant le code, c'est pas évident au premier coup d'½il, mais avec un peu de réflection et de méthode, ça ne devrait pas poser de problème.
A bientôt sur ce forum
Pour les modifications apportées à "pi.c", pas de problème, il me semble après première lecture.
Dans Controller.m : pourquoi ?
D'autre part, la ligne de main.m m'a toujours paru absconse !
Le fichier temporaire : pourquoi ne pas en faire un fichier sauvegardé ?
Quant à la l'indicateur d'avancement, oui, j'y ai déjà pensé. Avec l'inconvénient d'occuper un peu de temps donc de ralentir le calcul.
Un calcul parfaitement inutile : qu'est-ce que 130 000 décimales alors qu'on en connaà®t plusieurs milliards ?
char* resultat doit être un tableau dans lequel sont stockées les décimales. En effet, char est codé sur un octet (8 bits) et donc cela suffit amplement pour les chiffres de 0 à 9 (j'imagine que le calcul est fait en décimal et pas en hexa ). Ensuite, tu dois parcourir le tableau sachant de le nombre d'éléments dans ce tableau doit être nbDecimales. A vérifier auprès de mpergand.
Ensuite pour return NSApplicationMain(argc, (const char **) argv);, tu ne te poses pas de questions et surtout, s'il s'agit d'une appli Cocoa, évite de la modifier. IL s'agit de la ligne qui permet le lancement de l'appli en elle-même, c'est-à -dire l'initialisation des objets, le chargement des nibs, etc ... Il s'agit donc de la ligne qui permet le fonctionnement de ton appli (sache que dans la plupart des applis, on ne modifie pas main.m, c'est tout bonnement inutile ).
Bonne continuation :fouf):