我想從iOS的arm64程序集文件調用malloc, 然而,從* .m文件調用_test_malloc,它不會從_test_malloc() (在iPhone5s上運行)返回,如何調用arm64中的malloc ios程序集
我誤解了什麼?
//test_malloc.s
.private_extern _test_malloc
.globl _test_malloc
.align 2
_test_malloc:
mov x0, #8
bl _malloc //wordPtr = malloc(8)
ret
//run_test_malloc.m
extern uint32_t* test_malloc();
static void run_test_malloc() {
uint32_t* ptr = test_malloc();
}
不知道爲什麼你保存和恢復'x19'和'x20',只要你不使用它們。 –
保存和恢復x19和x20不需要,它們已被刪除。謝謝斯蒂芬。該代碼是其他函數的實際使用x19的副本。 – user2992766