Herausfinden welche architekturen ein System unterstützt.

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Herausfinden welche architekturen ein System unterstützt.

    Hallo,

    vielleicht stehe ich ja grad auf dem schlauch, aber gibts eine einfache möglichkeit rauszufinden welche architekturen unter dem aktuellen system ausführbar sind?

    also zb unter 10.4 aäre es ppc, ppc64 (oder was auch immer) und dann irgendwann i386 gewesen, unter 10.8 müsste es i386 und x86_64 sein, unter 10.9 eigentlich auch nocht (oder wird da i386 schon nicht mehr unterstützt)?
    irgendwann wäre es dann villeicht nur noch x86_64, arm oder sonstwas.

    besten dank und shcöne grüße
  • macmoonshine schrieb:

    Kannst Du nicht für jede Architektur ein Bundle erstellen, und versuchen daraus eine Funktion zu laden?


    das wäre "etwas" kompliziert.

    im prinzip geht es um einen updater. es liegt zb auf dem server eine infodatei wo versionsnummern, minimale systemversion etc drin steht. unter anderem würden dann auch die architekturen stehen welche das update supported.
    anhand dieser info soll das app dann wissen ob es das pdate anzeigen soll oder nicht (ob dem user angezeigt wird warume s kein update gibt ist hier vollkommen egal).
  • manoh schrieb:

    Wenn Du einen 64-Bit-Kiste, also einen Intel x86_64 Prozessor, dann unterstützt dieser immer noch Software, die für i386 Prozessoren kompiliert worden sind. Unter 10.9 kann man sogar explizit sagen, dass das Programm im 32-Bit Modus geöffnet werden soll.

    Guckst Du auch: de.wikipedia.org/wiki/AMD64


    ja aber woher soll ich wissen dass apple das in 10.10 auch noch unterstützt oder ob die da (warum auch immer) i386 einfach droppen (oder 10.11 etc)?
  • Laut Wikipedia war OS X 10.5 das letzte Betriebsystem, dass i386 und ppc unterstützt hat. Von dem her interessiert 32-Bit eh nicht.

    Wenn Du dein Programm zusätzlich für i386 und x86_64 kompilierst, dann wird beides ins Programm gepackt und je nach System gestartet. Wenn Du dir deine Executes anschaust, dann ist:

    PHP-Quellcode

    1. > file /Applications/0xED.app/Contents/MacOS/0xED
    2. /Applications/0xED.app/Contents/MacOS/0xED: Mach-O universal binary with 2 architectures
    3. /Applications/0xED.app/Contents/MacOS/0xED (for architecture x86_64): Mach-O 64-bit executable x86_64
    4. /Applications/0xED.app/Contents/MacOS/0xED (for architecture i386): Mach-O executable i386


    das wohl eher die Ausnahme. Im Großen und Ganzen hast Du nur x86_64 Anwendungen und Bibliotheken auf deinen Mac. Was z.Z. eher interessiert, ist iOS und OS X.

    Eigentlich hätte ich auch gesagt, dass man mit uname das rausfindet, aber dann müsste wohl -m (man: print the machine hardware name) und nicht -p (man: print the machine processor architecture name.) die richtige Option sein.

    PHP-Quellcode

    1. > uname -p
    2. i386
    3. > uname -m
    4. x86_64
    5. > uname -a
    6. Darwin ***.***.*** 13.0.0 Darwin Kernel Version 13.0.0: Thu Sep 19 22:22:27 PDT 2013; root:xnu-2422.1.72~6/RELEASE_X86_64 x86_64
  • ne mir ist schon klar wie ich die hardware-architektur rausfinde, es wäre aber interessant welche architekturen auf dem laufen. zb lief ja auch ppc noch auf i386er hardware (zwar nur in einem emulator/simulator oder was auch immer).
    es geht aber eben nicht um die systeme die bereits erschienen sind, sondern um die systeme die erst erscheinen werden und für die man zur jetzigen zeit ja nochkeine aussagen treffen kann.