fedora에서는 메모리 할당을 실제 사용할때 해주는 것을 택하고 있지요.
malloc ...-> 할당안함 memset ... _> 이때 할당
그러면 malloc에서는 할당되었는지 알수가 없기때문에 실제 쓰는곳에서 (위에서는 memset)에러를 내기 때문에 상당히 곤란하더군요 실제로 커널 컴파일을 하지 않고 malloc에서 할당이 되었는지를 알수 있는 방법이 있습니까?? 고수님들 부탁드립니다.
뭔가 오해하신듯 합니다. 실제 커널이 언제 메모리를 할당하느냐와 application level에서 malloc 함수를 불렀을때와는 별개입니다. 따라서 malloc()을 불렀을 때, application은 당연히 memory가 할당된 것으로 작업을 해야 하며, 만약 malloc()을 불렀을 때, NULL이 리턴되었다면, 이는 커널이 아직 메모리를 할당하지 않아서가 아니라, 메모리가 부족해서 입니다.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html Korean Ver: http://cinsk.github.io/cfaqs/
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
뭔가 오해하신듯 합니다. 실제 커널이 언제 메모리를 할당하느냐와 appl
뭔가 오해하신듯 합니다. 실제 커널이 언제 메모리를 할당하느냐와 application level에서 malloc 함수를 불렀을때와는 별개입니다. 따라서 malloc()을 불렀을 때, application은 당연히 memory가 할당된 것으로 작업을 해야 하며, 만약 malloc()을 불렀을 때, NULL이 리턴되었다면, 이는 커널이 아직 메모리를 할당하지 않아서가 아니라, 메모리가 부족해서 입니다.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
댓글 달기