나는 개발중인 라이브러리에 대한 단위 테스트를 작성하고 있습니다. 라이브러리 구현을 조롱 할 수 없습니다. 단위 테스트는 프로그램의 메모리가 부족한 경우 특수 값을 반환하는 것입니다.C에서 메모리 부족 상태를 만드는 가장 빠른 방법은 무엇입니까?
나는이 순진 솔루션을 내놓았다 :
// Fillup memory
int *p = NULL
do {
p = malloc(sizeof(int));
// store p somewhere to release it later
} while(p);
// Got out of memory :)
malloc을 할당 메모리 블록의 크기를 증가없이이 솔루션 보다 빠르게 메모리를 채우기 위해 어쨌든 있나요?
는 PS : 타사 메모리 할당을 사용하여이 분명히 :)
질문은 C가 아닙니다. C++ : –
1 개 이상의 스레드를 만드는 것이 어떻게 도움이 될지 모르겠습니다. 나는'malloc'이 요청을 큐에 넣을 것이라고 확신합니다 : http://stackoverflow.com/questions/4859263/can-multithreading-speed-up-memory-allocation –
확실하지 않습니다 - 이것이 구현이라고 말한 이유입니다 매달린. 서로 다른 풀에서 서로 다른 htreads 메모리를 할당하는 매우 자유로운 구현을하는 컴파일러가 있습니다. 즉, 이미 단단한 루프가 있기 때문에 작동하는 유일한 방법입니다. 남은 건 아무것도 없어. – TomTom