Remix.run Logo
dagmx 3 days ago

I think we’re talking past each other, and you’re largely repeating what I already covered .

My original response delineated between levels of the stack, and also already called out that Android requires you to use the NDK/JNI to use the C ABI.

I also specifically called out windows as well.

My point is that the original persons distinction of what supports a C ABI is conflating different levels of the stack. It’s not a useful distinction when describing the platforms and the windows case is why I quote “PC” since desktop semantics vary quite a bit as well

A more useful delineation of why mobile dev is harder to just do an asm hello world is that mobile dev doesn’t really have a concept of CLIs without jumping through some hoops first. So you have to pipe such a thing through some kind of UI framework as well.

pjmlp 3 days ago | parent [-]

If userspace needs to use NDK/JNI ABI to call the Linux C ABI, naturally the OS ABI isn't the C ABI, by definition.

dagmx 3 days ago | parent [-]

Why not? The NDK/JNI calls are still in user space themselves. So what delineation are you trying to make here?

pjmlp 2 days ago | parent [-]

How userspace applications talk to the kernel subsystems, in a legal way without hacking the operating system architecture.