Как я могу получить размер блока памяти, выделенного с помощью malloc ()? [Дубликат]

Possible Duplicates:
How can I get the size of an array from a pointer in C?
Is there any way to determine the size of a C++ array programmatically? And if not, why?

Я получаю указатель на кусок выделенной памяти из функции стиля C. Теперь для отладки было бы очень интересно узнать, как большой выделенный блок памяти, на который указывает этот указатель.

Есть ли что-нибудь более изящное, чем провоцировать исключение, слепо бегая по его границам?

Заранее спасибо, Andreas

EDIT:

Я использую VC ++ 2005 на Windows и GCC 4.3 на Linux

EDIT2:

я имею_msize под VC ++ 2005 К сожалению, это приводит к исключению в режиме отладки ....

EDIT3:

Что ж. Я попробовал способ, описанный выше, за исключением, и это работает. По крайней мере, пока я отлаживаю и гарантирую, что сразу после звонка к выходам из библиотеки я пересекаю границы буфера. Работает как шарм.

Это просто не элегантно и никоим образом не может быть использовано в рабочем коде.

Ответы на вопрос(8)

Ваш ответ на вопрос