tags:

views:

307

answers:

2

Instead of C/C++/Objective-C, is it possible to write parts of an ipad application in raw assembly?

+3  A: 

Perhaps, but it's illegal against the EULA:

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

BlueRaja - Danny Pflughoeft
And Apple sucks.
Valentein
gcc supports inline assembly though ... does C + inline asembly not count as C?
anon
@shoosh: No, but it is illegal to break a contract.
BlueRaja - Danny Pflughoeft
It is not illegal to "break a contract", and I wish that people would stop bringing up this hyperbole on every potential EULA "violation" on SO.
Coxy
@coxymla Exactly. They also assume that the EULA will stand up in court anyway. Which as we know from many previous examples they often do not.
Simon
Thanks, I learned something new today. See http://en.wikipedia.org/wiki/Software_license_agreement#Enforceability_of_EULAs_in_the_United_States
BlueRaja - Danny Pflughoeft
+5  A: 

Anon didn't ask if it was acceptable to submit such an application to the App Store, only if it were possible to write parts in assembler.

I don't see why not. As long as you know the calling conventions and the toolchain includes an assembler, have at it. Especially if you write your assembler in the context of a C function, in a .c file, using the __asm__ GCC extensions, you probably couldn't tell from looking at the object files anyway.

Steve Madsen
+1: Inline assembly should be fine - many developers must presumably already be using this for things like VFP and NEON on the ARM CPU.
Paul R