Можно ли скомпилировать программу X86 на взломанном устройстве iOS? - PullRequest
1 голос
/ 27 мая 2020

У меня iPad работает iOS 13.5, и он взломан. Я установил компилятор clang и редактор vim в магазине Cydia, поэтому я могу писать код с помощью vim и компилировать исходный код с помощью clang. И компиляция, и выполнение проходят успешно.

Теперь у меня есть идея, я знаю, что существует метод, называемый кросс-компиляцией, поэтому можно ли скомпилировать программу C на iPad, которая может работать в macOS или Windows?

1 Ответ

0 голосов
/ 27 мая 2020

Конечно, можно скомпилировать для macOS. Все, что вам нужно, это SDK с файлами заголовков и заглушками библиотек, которые вы можете скопировать из Xcode или получить из здесь .
Вы можете либо передать его папку компилятору с помощью -isysroot, либо поместите / создайте символическую ссылку на /usr/share/SDKs/MacOSX.sdk, где компилятор найдет его автоматически.
Как только вы это сделаете, вы можете запустить:

clang --target=x86_64-apple-darwin -o t t.c

Компиляция для Linux или Windows будет работать аналогично с --target=x86_64-linux-gnu и --target=x86_64-windows-msvc соответственно, но в дополнение к подходящему SDK также потребуется настраиваемый компоновщик. Предположительно, вы могли бы построить LLVM lld для iOS, а затем передать -fuse-ld=ld.lld для Linux или -fuse-ld=lld-link для Windows, но я не смог найти это как предварительно скомпилированный двоичный файл для iOS.

...