32bit external working on 64bit Max?


    Nov 12 2013 | 3:17 pm
    I've just finished my first external. I compiled it in 32bits with XCode, and it is working fine in 32bits Max, as expected.
    I supposed I had to re-compile it in 64bits format but I opened Max in 64bits and the external works just fine as well.
    - Don't the externals have to be in the same architecture than the host? What's going on here?
    - Even if the external work, is there any downside of it being 32bits in a 64bits host?
    - Windows has .mxe and .mxe64 type of files, but how can you compile a 32 and a 64bits version in OSX if both files extensions are .mxo?
    Thanks in advance!

    • Nov 12 2013 | 9:22 pm
      Some of the questions are answered in the SDK documentation. Basically MacOS have a notion of fat architecture the same mxo can contain more than one architecture… Windows does not.
    • Nov 13 2013 | 10:17 am
      Thanks for your answer Emmanuel. Yes, I read the SDK but I didn't get all the answers so I asked here.
      One question remains unanswered tho, Why the 32bits external work on the 64bits host?
    • Nov 13 2013 | 1:35 pm
      Hi,
      If your computer has a 64-bits architecture, the 32-bits softwares should run on it (the reverse is not true) but a 64-bits software should be faster(~).
      - Don’t the externals have to be in the same architecture than the host? What’s going on here?
      Your external should have the same architecture than Max.
      - Even if the external work, is there any downside of it being 32bits in a 64bits host?
      No but it should be better to use the same architecture.