|
제 경험으로 볼때 그런 방법은 없을것 같습니다.
메모리 관리는 프로그래머의 몫인걸로 알고 있거든요.
굳이 사이즈를 알고 싶으시면 함수나 클래스하나 만들어서 쓰면 되지 않을까요?
에를들면
class my_malloc
{
public:
char*p;
int s;
my_malloc(int size){
s=size;
p=(char*)malloc(s);
};
~my_malloc(){
if(p){
free(p);
}
};
int size(){
return s;
}
};
사용할땐
my_malloc*mp=new my_malloc(100);
mp->p가 null 이 아니면
포인터는 mp->p 로 쓰면되고,
사이즈를 알고 싶으면
mp->size 참조 해보면 100 나오겟죠.
사용후 delete mp;
하면 되겟죠...
api 함수에보면 GlobalSize,HeapSize 뭐 메모리싸이즈 돌려주는 함수들이 있는데
그런것도 어차피 원도우에서 저런식으로 관리하지 않을까 생각해봅니다.
그럼,.
kwon 님이 쓰신 글 :
: char *p
: p = (char *) malloc(100);
:
: 위 문장에서 sizeof(p)하면 당근 4가 나오는데요..
: 위처럼 초기화후에 곧바로 p를 이용해서 할당된 크기 100을 얻어올수 있는 방법이 있는지요?
:
: 넘 초보같은 질문이라.. 죄송합니다.
|