Compilation vers Ios

Bonjour tout le monde,


 


 


sous Xcode j'ai donc lancer un projet tout simple Ios, juste pour mater l'assembleur (arm) mais je suis 'tomber' sur de l'Intel.... :o ???


 


On peut avoir accès au source en Arm ?


 


 


 


 


 


 


Mots clés:

Réponses

  • AliGatorAliGator Membre, Modérateur
    Si tu compiles pour le simu donc i386/x86 c'est un peu normal, non ?


    Sinon je connais iOS mais je connais pas Ios, c'est quoi ?... O:-) :-"
  • lucluc Membre
    février 2014 modifié #3


    Si tu compiles pour le simu donc i386/x86 c'est un peu normal, non ?


    Sinon je connais iOS mais je connais pas Ios, c'est quoi ?... O:-) :-"




    Il pourrait compiler en Arm pour le simulateur justement... :-)


    Il y a une option pour travailler sur le code Arm ?


    ios->(i en majuscule) Ios


  • AliGatorAliGator Membre, Modérateur

    Il pourrait compiler en aRM pour le simulation justement... :-)

    ??? Bah évidemment que non puisque le Simulateur iOS.app est une application OSX, qui tourne sur ton Mac, donc avec des instructions en x86.
    Et que dans les Build Settings ça sélectionne donc comme Active Architecture l'archi x86, en toute logique, puisque c'est pour pouvoir être exécuté ensuite sur le processeur de ton Mac (en tant que bundle/plugin chargé par le Simulateur). Donc je vois mal pourquoi il compilerait en ARM dans le cas où tu vises le simulateur, qui lui est x86 !

    Si tu veux compiler en ARM, cible le iOS Device, pas le Simu. C'est ton device (iPhone ou iPad) qui a un processeur ARM et nécessite donc de compiler avec le jeu d'instructions ARM (Pour être plus précis, avec le jeu d'instructions armv6 ou armv7 ou armv7s, selon la cible que tu as, voire un "lipo" de 2 ou 3 de ces archis).
    Ca va pas compiler en ARM si tu cibles un simu qui tourne sous x86 ni à  l'inverse compiler en x86 si tu cibles le device qui tourne en ARM, ça n'aurait aucun sens...


  • ios->(i en majuscule) Ios




    C'est juste que ça s'écrit iOS. La première lettre en minuscule et les deux autres en majuscule...


    C'est chiant, mais c'est comme ça. Et puis, l'Objective-C (tout comme pleins d'autres langages) est aussi case-sensitive, alors bon, en plus de sûrement devoir touché à  un truc copyright/trademark.

    Et pour information, si tout est en majuscule, c'est l'OS des appareils Cisco, ou encore un truc d'Input/Output System.

  • AliGatorAliGator Membre, Modérateur
    Oui la casse à  son importance. C'est comme un autre sujet dans lequel il est écrit IAD au lieu de iAd, du coup rien qu'à  cause de la casse je n'ai pas compris car cela a un tout autre sens. IAD est un acronyme (un peu comme IAP pour InApp Purchase par exemple), iAd est un nom.


    La casse peut changer le sens d'un mot et le rendre incompréhensible surtout dans ce genre de cas.


    En plus dans le monde Cocoa la casse est très importante et ne pas respecter les conventions de nommage dans un code Objective-C rend se dernier totalement illisible (car la bonne casse d'un mot donne des infos sémantiques sur ce dernier). Donc autant la respecter aussi pour les termes techniques.


    Le mot ios en minuscule n'existe pas. Le mot Ios non plus. Le mot iOS existe lui et est un nom propre / une marque donc sa casse reste inchangée même en début de phrase.
  • merci a vous.


  • Bonjour,


     


    Juste une question... j'ai bien ciblé un ipad, la compilation se passe bien.


    Ensuite dans mon '.m' je fais 'assembly' avec ce message en retour;


     


    "'...Tests.m' is not a member of any targets in the current scheme that build for running"


     


    J'ai change le 'target membership' en vain..

  • AliGatorAliGator Membre, Modérateur
    Bah comme le message d'erreur explique, il faut évidemment que Tests.m fasse partie du Target que tu es en train de compiler sinon ça n'a pas de sens...


  • Bah comme le message d'erreur explique, il faut évidemment que Tests.m fasse partie du Target que tu es en train de compiler sinon ça n'a pas de sens...




    c'est que j'ai pas toucher une ligne du projet et encore moins l'organisation des sources. ???

  • AliGatorAliGator Membre, Modérateur
    Vu le nom du fichier c'est sans doute un fichier pour les TU donc uniquement compilé pour le target de Tests. Donc ça me paraà®t normal tout ça.


    Je comprend toujours pas ce que tu essayes de faire, tu essayes de générer le code assembleur d'un projet alors que tu ne sembles même pas comprendre les bases de Xcode ni avoir déjà  compilé un projet iOS "normalement", et pourtant tu commences avec de l'assembleur... faut peut être commencer par les bases non ? Sinon tu vas continuer dans la ligner d'essayer de faire des trucs qui n'ont pas de sens...


  • Vu le nom du fichier c'est sans doute un fichier pour les TU donc uniquement compilé pour le target de Tests. Donc ça me paraà®t normal tout ça.


    Je comprend toujours pas ce que tu essayes de faire, tu essayes de générer le code assembleur d'un projet alors que tu ne sembles même pas comprendre les bases de Xcode ni avoir déjà  compilé un projet iOS "normalement", et pourtant tu commences avec de l'assembleur... faut peut être commencer par les bases non ? Sinon tu vas continuer dans la ligner d'essayer de faire des trucs qui n'ont pas de sens...




    Je patauge un peu c'est vrai avec les bases d'xcode.. mais c'est régler je peu enfin visualiser le code asm des sources, mais il reste en x86... :)

  • Bonjour,


     


    Je pense que l'aventure va s'arreter là  en effet si je branche un ipod (physiquement) et utilise la commande build, Xcode me renvoie sur un programme payant de dév.


    Et en simulation c'est du x86.


     


     


    Dommage.

  • AliGatorAliGator Membre, Modérateur
    février 2014 modifié #14
    Donc ça veut dire que tu n'as jamais essayé de compiler pour un device comme je n'arrêtais pas de te le répéter plus haut.

    Et cela confirme également que :
    • Tu ne sembles pas avoir acheté de licence de développement iOS, donc c'est sûr que tu vas avoir du mal à  compiler pour du ARM
    • Tout cela confirme que tu n'as jamais fait de développement iOS, pas même essayé de développer un Hello World sur device, et que malgré tout tu commençais à  vouloir tripatouiller l'assembleur avant même d'essayer de faire fonctionner un programme tout simple via le process classique de dev par lequel tout le monde passe...
    Forcément, si tu essayes de mettre la charrue (bien) avant les boeufs, pas étonnant que tu n'arrêtes pas de faire des trucs qui n'ont pas de sens et que tu n'arrives à  rien.

    Générer l'assembleur ARM d'un code Objective-C, c'est pas compliqué (et à  vrai dire, sans passer par Xcode mais directement via LLVM/Clang, tu dois pouvoir le faire sans avoir besoin de licence de dev iOS, tu ne pourras juste pas générer de binaire iOS signé et donc pas l'installer sur le device " mais bon encore faut-il être à  l'aise avec la ligne de commande, le processus de compilation d'un code source de manière générale " Objective-C ou non " et tout cela), bref encore faut-il savoir ce qu'on fait.
    Toi j'ai l'impression que tu as essayé de tripatouiller un peu tout sans comprendre ce que tu faisais malgré nos explications, un peu comme si tu voulais apprendre la Thermodynamique avant même de connaà®tre les bases des maths et de la physique...
  • AliGator: "Donc ça veut dire que tu n'as jamais essayé de compiler pour un device comme je n'arrêtais pas de te le répéter plus haut."


     


    Faut bien commencer un jour.


     


    AliGator: "Tout cela confirme que tu n'as jamais fait de développement iOS, pas même essayé de développer un Hello World sur device, et que malgré tout tu commençais à  vouloir tripatouiller l'assembleur avant même d'essayer de faire fonctionner un programme tout simple via le process classique de dev par lequel tout le monde passe..."


     


    Par la suite j'ai rajouter mes morceaux de C dans le projet de base.


     


    AliGator: "Forcément, si tu essayes de mettre la charrue (bien) avant les boeufs, pas étonnant que tu n'arrêtes pas de faire des trucs qui n'ont pas de sens et que tu n'arrives à  rien."


     


    pour le temps que j'y ait passé... quelques détails... après, cela a du sens pour moi et j'y suis arriver. "des trucs qui n'ont pas de sens" ce n'est qu'un jugement de valeur.


     


    AliGator: "Générer l'assembleur ARM d'un code Objective-C, c'est pas compliqué (et à  vrai dire, sans passer par Xcode mais directement via LLVM/Clang, tu dois pouvoir le faire sans avoir besoin de licence de dev iOS, tu ne pourras juste pas générer de binaire iOS signé et donc pas l'installer sur le device " mais bon encore faut-il être à  l'aise avec la ligne de commande, le processus de compilation d'un code source de manière générale " Objective-C ou non " et tout cela), bref encore faut-il savoir ce qu'on fait.


     


    L'intérêt c'était d'avoir un minimum de confort en passant par Xcode, entre autre. Les lignes de commandes je connait que trop bien :)

  • AliGatorAliGator Membre, Modérateur

    Faut bien commencer un jour.

    Bah évidemment, on est bien d'accord. Mais quand tu commences, faut commencer par le début ! Tu n'apprends pas à  conduire un 38 tonnes du jour au lendemain, faut peut-être commencer par essayer de passer son permis (voire de conduire une voiture) avant, non ?
     

    Par la suite j'ai rajouter mes morceaux de C dans le projet de base.

    ? Heu je vois pas trop le rapport avec "essayer de faire un Hello World de base"...
     

    "des trucs qui n'ont pas de sens" ce n'est qu'un jugement de valeur.

    Heu non, non, C'est juste concernant les choses que tu as essayé de faire et je t'ai déjà  remontés plus haut. Comme compiler pour Simulateur, qui est un target i386, et espérer avoir de l'assembleur ARM sur ce target i386. On demander de générer un fichier qui n'est pas dans le target. Ce sont des choses qui n'ont pas de sens, comme si tu disais "je vais éplucher un poisson pour faire une soupe de poulet".

    Après que tu ne réalises pas encore que cela n'a pas de sens car tu ne maà®trises pas le vocabulaire ou les actions que tu fais, c'est normal si tu débutes, y'a pas de mal à  ça. Mais du coup justement ce que je te disais c'est de commencer par le commencement, de te familiariser avec Xcode, le vocabulaire de la compilation (target, architecture, process de build...), et de faire un projet "normal" (un Hello World pour lequel tu génères le binaire final, en suivant des tutos comme il y en a à  la pelle sur le net), avant de commencer à  essayer de générer de l'assembleur ou faire ce genre de choses qui est bien moins courant dans un process de dav.

    Car comme je l'ai déjà  répété, tu essayes de mettre la charrue avant les boeufs et de faire des choses avec un outil tel Xcode sans jamais l'avoir utilisé dans son fonctionnement standard/courant/habituel avant donc sans savoir comment il fonctionne (ses concepts de Build Settings, Scheme, Targets, Phases, Targeted Architectures... et leurs impacts) donc pas étonnant que tu galères et ne comprenne pas ce que tu fais. Commence par les bases, un projet normal, entraà®ne-toi... et quand tu auras compris les rouages et ce que fait effectivement Xcode sous le capot et les impacts de ces Build Settings & Targets, tu comprendras mieux et tu pourras faire des choses moins courantes pour un dev iOS, comme générer le code intermédiaire assembleur non signé.

    ---

    PS : Merci d'utiliser les balises QUOTE pour les citations.
Connectez-vous ou Inscrivez-vous pour répondre.