在Linux上使用netbeans调试C/C++代码时,是否可以像Windows上的Visual Studio那样“进入”本机C运行时库(查看malloc()等的源代码)?
如果没有,任何Linux IDE都可以吗?
发布于 2013-10-29 22:28:30
malloc和许多函数都有编译器的具体实现。通常你不能通过这种方式访问到它们的源代码,例如在gcc/g++中,malloc是在<cstdlib>中声明的,并在.dll文件中作为外部函数实现。
在Visual Studio中,您可以查看一些声明并看到一些奇怪的代码,但它们只是一些用于调用真正malloc的高级代码。您看不到malloc的真正实现。
例如,在进入malloc之后的测试中,我看到以下代码只是对内部函数的调用,依此类推……最后,您将什么也看不到:
extern "C" _CRTIMP void * __cdecl malloc (
size_t nSize
)
{
void *res = _nh_malloc_dbg(nSize, _newmode, _NORMAL_BLOCK, NULL, 0);
RTCCALLBACK(_RTC_Allocate_hook, (res, nSize, 0));
return res;
}https://stackoverflow.com/questions/19659147
复制相似问题