Developer Tool

  • Créateur du sujet Membre supprimé 2
  • Date de début
M

Membre supprimé 2

Invité
Quelqu'un a t'il plus de probleme avec OS X, comme des plantages plus souvent, qd il utilise les Dev Tool. Je ne suis pas un programeur pour l'instant, mais bientot, alors je vaux les installer mais j'ai eu quelque surprise a ma premiere installation. Des qu'il y avait une applic qui plante, et ben des lignes de textes apparraissent a mon ecran en me proposant de continuer ou de rebooter. Alors peut etre que c normal, et que c une fonction debuggage, mais est ce bien cela ? Merci de me tenir au courrant des problemes que vous avez en les ayants installer.
 
Ce que tu vois là est un Kernel Panic, l'équivalent de la bombe sous Mac OS.
En principe, cela n'a rien à voir avec l'installation des outils de développement.

------------------
Gwenhiver — Truly addicted to MacG
 
Chez moi ils sont installés, et je n'ai eu aucun problème depuis. (TiBook 400)

D'ailleurs, il faut que je m'y remette un peu, si je veux progresser
wink.gif
 
D'accord je vous remercie pour vos reponse et j'installe donc les Dev Tool, va falloir que je m'y mettes. Et dites, si j'apprends le C sur PC l'année prochaine, je pourrai porter ce que j'ai appris sur Mac. En fait je suis un super super debutant en prog, et je ne m'y connais pas.
 
euh...
moi j'ai commencé le C cetet année. A priori, tu pourras porter ce que tu as fait sous osX, sous réserve que ton programme en C n'utilise pas des bibliothèques "spéciales" (en gros ton prog apelle des fonctions de l'extérieur).

par exemple, j'ai fait en TD un prog qui utilise une bibliothèque graphique développée par des élèves de mon école, ben je pense pas que ce soit possible de le réutiliser tel quel sous osX. (que les spécialistes m'arrêtent).

Par contre (même si je n'ai aps bcp essayé) si ton prog appelle des fonctions simples, ce sera sans doute jouable.
En tout cas, avec les DevTools tu pourras te mettre aussi à Java (après ton inititaion au C)...

Bon courage !
 
ben de rien...

D'ailleurs, pour vérifier mes dires, je viens de faire un essai, et en fait... j'ai l'impression que ca marche pas !

Quelqu'un a-t-il déjà fait tourner un programme en C tout simple sous osX, dans le terminal ?
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par benR:
Quelqu'un a-t-il déjà fait tourner un programme en C tout simple sous osX, dans le terminal ?<HR></BLOCKQUOTE>

En ce qui me concerne, j'arrive à faire tourner des programmes pas tout simples qui ne font pas appel à autre chose que les bibliothèques C dans le Terminal.

Je trouve d'ailleurs ça beau, mais bon, ils sont quand même conçus pour tourner exclusivement dans le terminal.
En fait, que je les compile avec cc dans le Terminal, ou avec Project Builder, puis que je lance l'exécutable dans le Terminal, ça tourne.

Dites-moi, j'ai le sentiment de vraiment pas être clair…

------------------
Gwenhiver — Truly addicted to MacG
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par Gwenhiver:
j'arrive à faire tourner des programmes pas tout simples qui ne font pas appel à autre chose que les bibliothèques C dans le Terminal.

Je trouve d'ailleurs ça beau, mais bon, ils sont quand même conçus pour tourner exclusivement dans le terminal.
En fait, que je les compile avec cc dans le Terminal, ou avec Project Builder, puis que je lance l'exécutable dans le Terminal, ça tourne.
<HR></BLOCKQUOTE>

Ben si, pour moi t'es a peu pres clair... j'aimerais juste savoir deux trois trucs en plus...
tu les lances comment ? (juste en tappant le nom du prog)
tu pourrais m'en filer un, juste pour que je vois si ca marche chez moi ?

merci !
 
Eh bien, tu lances Project Builder, et tu crées un nouveau projet avec le modèle Standard Tool (tout en bas). Moi je l'ai appelé "Test".

Dans le dossier Source, tu as un main.c. C'est vraiment le minimum que l'on puisse faire (quoique on pourrait écrire int main(void)). Si tu cliques sur le marteau, il te génére un exécutable appelé Test qu'il place dans le dossier build de ton projet.

Là, comme je te l'ai dit, tu ne peux pas faire tourner cet exécutable directement sous Mac OS X, puisque que c'est du C tout con, sans aucune bibliothèque pour faire l'interface avec le Mac.
En revanche, si tu vas dans le Terminal et que tu te places dans le dossier build contenant l'exécutable, il suffit que tu tapes "./Test" pour qu'il t'écrive "Hello, World! " (Le ./ dit au Terminal de chercher Test dans le dossier courant.)

Si tu veux plus compliqué, je peux t'en envoyer un.

------------------
Gwenhiver — Truly addicted to MacG
 
ok ok !
merci beaucoup (encore une fois)...

Mais tu es sur que le ./ ne signifie aps plus que ce que tu dis ?
En fait, le problème que j'avais auparavant était que en tappant juste Test, j'vais une erreur de commande non trouvée, alors qu'avec ./, ça marche...

Est ce que par défaut, le terminal croit qu'on lui entre des commandes "basiques" UNIX, et que donc quand on fait un prog il faut lui dire de ne pas chercher la commande ailleurs ?

(si le prog est pas trop lourd, je suis preneur pour un truc plus compliqué en C, si ce ne te dérange pas...)

merci !
(difficile d'avoir des news sur la conf, actuellement...)
 
En principe c'est ça, si tu ne tappes que Test, il cherche une commande Unix. Taper ./ devant le force à aller chercher dans le répertoire courant. (En fait, les commandes Unix sont des exécutables aussi, mais elles doivent être dans le dossier /bin/ je crois, dans lequel le système va chercher par défaut.)

Pour le programme en C, je rassemble les sources et je te l'envoie. Pour la conférence, je crois que c'est raté, et que les journalistes n'ont pas eu le droit de la taper en temps réel. Tant pis, on attendra la fin…
frown.gif


------------------
Gwenhiver — Truly addicted to MacG
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par Gwenhiver:
En principe c'est ça, si tu ne tappes que Test, il cherche une commande Unix. Taper ./ devant le force à aller chercher dans le répertoire courant. (En fait, les commandes Unix sont des exécutables aussi, mais elles doivent être dans le dossier /bin/ je crois, dans lequel le système va chercher par défaut.)
<HR></BLOCKQUOTE>

Euh pour moi ./ voulais dire d'exécuter les fichier...
mais les commandes ne se trouvent pas plutot dans /usr/sbin ?



------------------
Reporter en direct des inondations
#LittleKid of MacG
 
Bien reçu ton prog, Gwen, je vais voir ce que ca donne des que j'ai du temps (et des que je ne le perdrai pas a essayer d'acceder aux Forums...
wink.gif
)
c'est vraiment incroyable les possibilités offertes par cet OS !!!
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par [MGZ]Toine:
Euh pour moi ./ voulais dire d'exécuter les fichier...
mais les commandes ne se trouvent pas plutot dans /usr/sbin ?
<HR></BLOCKQUOTE>

Là, il faudrait demander à un vrai pro, mais je suis à peu près certain que le "./" indique qu'il faut chercher l'exécutable dans le dossier courant.

Mais bon, de toute façon on s'en fout… du moment que ça fonctionne !
grin.gif


(Quant aux commandes, en fait il y en a un peu partout : /bin/, /usr/sbin/, et ailleurs aussi…)

------------------
Gwenhiver — Truly addicted to MacG
 
Mais non on s'en fout pas, c'est très important pour la culture personnel
grin.gif
grin.gif


je rigole, mais enfin c'est truc qui peuvent être pratique à savoir...

tout ce que je sait c'est que la fonction perl interprète les scipts perl non compilé
smile.gif


puis pour les commandes, y'en a même ailleurs
grin.gif


------------------
Reporter en direct des inondations
#LittleKid of MacG
 
Bon, même si j'suis pas un vrai pros, j'peux vous dire que j'ai lu ça sur des infos issues d'UNIX :
ds chq dossier MOSX (ceci provient donc d'unix) il ya 2 dossiers : ../ et ./
../ pointe vers le dossier parent (c'est pour ça qu'on tape cd .. pour aller au dossier parent)
quant à ./, il pointe sur le dossier courant, ete est utilisé pour certaines commandes du term qui ont besoin d'être guidée sur le dossier courant, comme l'appel d'une commande externe (programme ou plutôt tool, similaire à une commande unix mais non placée dans le dossier standart)
le ./ devant le nom du programme force donc bien l'unix à chercher la commande dans le dossier courant et non dans le dossier de ses commandes
 
AH ben oui ./ pour le dossier courant puisque quand l'on fait la copie d'un fichier d'un autre dossier dans le dossier actuelle, on mets .
smile.gif


------------------
Reporter en direct des inondations
#LittleKid of MacG
 
si vous voulez vraiment savoir où est ce que le système va chercher vos commandes voici comment faire:

which [commande] -&gt; affiche le repertoire ou ce se trouve l'executable commande (exemple which ls -&gt; /bin/ls )

printenv PATH -&gt; affiche la liste des répertoires dans lesquels ils cherchent la commande. Dès qu'il la trouve il arrête de chercher
Chez moi cela donne le résultat suivant:
~/bin/powerpc-apple-macos:/Users/sganiere/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/X11R6/bin
Vu qu'il n'y a pas le répertoire . cela veut dire qu'il ne cherche pas dans le répertoire courant. C'est pour ça qu'il faut taper ./commande pour exécuter une commande qui est dans le répertoire courant.
On peut évidement modifier la variable d'environnement PATH: setenv PATH +la path que vous voulez.
Exemple pour rajouter le dossier courant au début du path: setenv PATH .:$PATH
Mais attention en utilisant ce genre de commande, s'il y a un fichier qui se nomme ls dans le repertoire courant il va utiliser ce fichier et non plus celui qui se trouve dans /bin/ls -&gt; conflit. Maitenant si vous modifiez quand même le PATH (ou toutes autres variables d'environnement, pour avoir la liste complète: printenv) il faut savoir qu'un fois le terminal quitté il réinitialise les variables, les alias, etc... Donc pour que les changements restent il faut créer dans votre répertoire courant (user/user_name/ ) un fichier .cshrc et c'est là qu'il faut enregistrer vos modifications de variables, alias, etc... Le fichier .cshrc commence par un point donc il n'est pas visible directement, commande ls -a pour le voir dans le terminal. Il doit aussi être un fichier on ne peut plus banal, pas de rtf ou je sais pas quoi d'autre

Exemple chez moi le fichier .cshrc contient:
cat .cshrc
setenv MANPATH "${MANPATH}:/usr/X11R6/man:/usr/local/man"
setenv PATH "${PATH}:/usr/X11R6/bin"

Donc les variables PATH et MANPATH sont modifiées chaque fois.

Voilà quelques infos qui vont éclairer quelques sombres parties d'UNIX...

you are welcome, si jamais il y a d'autres questions utiliser mon mail


------------------
[email protected]
For A FREE TIBET
http://www.multimania.com/freetibet
http://www.tibet-sos.ch/