sbrk

    11

    2답변

    sbrk()를 사용하여 메모리를 확보하는 사용자 정의 할당 기 기능이 있습니다. 이 메모리가 더 이상 필요하지 않을 때 어떻게 해제합니까? malloc()에 대해 free()와 동일한 기능이 있습니까? 또는 데이터 세그먼트의 끝을 설정하려면 brk()을 사용해야합니까?

    5

    2답변

    어셈블리에서 메모리를 동적으로 할당하려면 표준 C 라이브러리와 연결되지 않는 프로그램을 사용하고 싶습니다. Mac OS X (10.6.2)에서는 에서 brk (2) 및 sbrk (2)를 사용할 수 없으므로 대체 방법은 무엇입니까? (나는 그것이 마하 호출을 포함 추측하지만, 에 그 주위에 약간의 문서가 될 것 같다거야)

    4

    1답변

    유닉스 시스템이 brk과 어떤 기능을 가지고 있고 기능이 sbrk인지는 알지만 나는 그것들이 무엇을 의미하는지 전혀 모른다. 누구나 나를 계몽시킬 수 있습니까?

    1

    2답변

    그래서 다음 코드를 사용하여 malloc을 사용하지 않고 힙에 메모리를 추가하려고합니다 (크기는 함수에서 부호없는 int 매개 변수이며 설정된 숫자가 아닙니다) void * temp = sbrk(sizeof(void*)+sizeof(unsigned int)+size); 지금 내가 뭘하려고 할 때 그러나 NULL로 온도에서 무효 *의 값을 설정할 *(vo

    10

    3답변

    _sbrk에 문제가 있습니다. 컴파일의 링크 단계에서 나는 아래의 명령을 사용하여 내 객체를 연결하고 _sbrk에 대한 정의되지 않은 참조를 얻습니다. 내가 ARM926EJ-S과 ARM 모드에서 컴파일하고 arm-none-eabi-ld -static -T linkerscript.ld -o exe timer_example.o /home/ziga/project

    2

    2답변

    sbrk의 기능에는 아무런 영향이없는 것 같지만 sbrk()의 ​​설명서에는 intptr_t 매개 변수가 필요합니다. int 유형을 매개 변수로 전달할 때 작동합니다 (또는 적어도 작동하는 것 같습니다). 이 아키텍처에 따라

    1

    1답변

    sbrk를 사용하여 비교적 기본적인 메모리 할당자를 작성했습니다. 나는 메모리 덩어리를 요구하고, 65k라고 말하고 동적 메모리를 요구하는 변수에 대해 필요에 따라 그것을 조각 낸다. 65k 블록에 메모리를 다시 추가하여 메모리를 확보합니다. 65k 블록은 sizeof (16 바이트) 유니온에서 파생됩니다. 그런 다음 블록을 16 바이트 경계까지 정렬합니다

    2

    2답변

    따라서 성능 및 성능면에서 어셈블리에 간단한 서버를 작성합니다. 내가 아는 유일한 방법은 시스템 호출이다. (int 0x80을 통해) 분명히 어셈블 할 때 또는로드 할 때 할당 된 것보다 많은 메모리를 필요로 할 것이므로 읽어 보았고 주로 mmap()을 이해할 수 없기 때문에 sbrk()를 사용하기로 결정했습니다. 아무튼 Linux는 sbrk()에 대한 인

    7

    5답변

    sbrk()에 대한 자세한 내용은 어디에서 확인할 수 있습니까? 어떻게 작동합니까? 귀찮은 malloc() 및 new() 대신 어떤 상황에서 sbrk()을 사용하고 싶습니까? btw, sbrk()에 대한 확장은 무엇입니까?