И я скомпилировал проект для Android, все было нормально.
Но когда я скомпилировал проект на MacOS (с Apple Silicon), он потерпел неудачу. И я понял, что в кодах, скомпилированных на MacOS, ко всем символам кроме ASM-кодов будет добавлен префикс _.
Раньше я думал, что префикс будет добавляться только к ASM-кодам, но после того, как я внимательно изучил скомпилированные коды, я понял, что ошибался.
Например:
Код: Выделить всё
int test_func();
int main() {
printf("%d\n", test_func());
return 0;
}
Код: Выделить всё
.global test_func
test_func:
mov x0, x1
ret
При компиляции этого кода для Android символ test_func по-прежнему остается самим собой.
Поэтому мне интересно, есть ли элегантный способ поддержки обеих платформ без слишком большого изменения исходного кода.
Подробнее здесь: https://stackoverflow.com/questions/793 ... nd-android
Мобильная версия