đang liên quan:Vì vậy, malloc không gọi bất kỳ syscall?
write(-1, "test", sizeof("test"));
void * p = malloc(1024);
void * p2 = malloc(510);
write(-1, "hi", sizeof("hi"));
Related sản lượng strace:
write(4294967295, "test\0", 5) = -1 EBADF (Bad file descriptor)
brk(0) = 0x601000
brk(0x622000) = 0x622000
write(4294967295, "hi\0", 3) = -1 EBADF (Bad file descriptor)
Tôi ngạc nhiên như vậy hoạt động ở mức độ thấp không liên quan đến syscall?
Tôi không hiểu bạn đang hỏi gì. Lệnh gọi 'malloc' gọi' sldall 'brk'. – Gabe
Qua kiểm tra tôi thấy 'brk' không được tạo bởi' malloc', bởi vì nếu tôi tăng số lượng 'malloc',' brk' không tăng lên. – cpuer
Bạn có nói rằng nếu bạn loại bỏ các cuộc gọi 'malloc', sau đó các cuộc gọi' brk' biến mất khỏi dấu vết? – Gabe