C에서이 세 가지 함수를 다시 코딩해야하며 목표는 레코딩 된 함수가 다른 프로그램이나 시스템 호출에서 시스템 함수를 대체해야한다는 것입니다.C에서 Malloc, free 및 realloc 동작
내가 mans를 읽은 이후로 나는이 함수의 동작을 실제로 이해하지 못한다. 나는 단지 brk()
과 sbrk()
을 사용할 수 있다는 것을 알고있다.
C에서이 세 가지 함수를 다시 코딩해야하며 목표는 레코딩 된 함수가 다른 프로그램이나 시스템 호출에서 시스템 함수를 대체해야한다는 것입니다.C에서 Malloc, free 및 realloc 동작
내가 mans를 읽은 이후로 나는이 함수의 동작을 실제로 이해하지 못한다. 나는 단지 brk()
과 sbrk()
을 사용할 수 있다는 것을 알고있다.
malloc
기본적으로 사전 할당 메모리 페이지 CF (getpagesize(2)
)을 호출하면 그 사전 할당 된 영역의 가능한 부분에 포인터를 반환한다. malloc
은 사전 할당 된 메모리 세그먼트 중 어느 부분이 사용되고 있고 어느 것이 사용 가능한지 "기억"해야합니다. 이 기사를 읽기 : https://www.cocoawithlove.com/2010/05/look-at-how-malloc-works-on-mac.html 도움이 될 수 있습니다! (나는 대학에서 malloc을 다시 코딩했을 때 큰 도움이되었다는 것을 알고있다.)).
조금만 검색하면 두 시스템 호출을 사용하는 메모리 할당 자의 예제가 수천 가지가 있습니다. –
분명히 당신은 어떤 종류의 수업이나 수업을 듣고 있습니다. 당신은 당신의 교재를 체크 아웃 할 필요가 있습니다. 어느 누구도 맨 페이지에서만 학생들을 가르 칠 것이며 아무도 그들에있는 정보를 기반으로 힙 할당자를 처음부터 작성하기를 기대하지 않습니다. – unwind
'brk'과'sbrk'에 대한 man 페이지도 읽었습니까? 명확하지 않은 것이 있습니까? 지금까지 무엇을하려고 했습니까? – skyking