C++ 转移C/C++;程序是否使用GCC源代码的副本来执行函数?
我知道要进入到代码的实际操作系统副本中是非常困难的,但是在做了一些深入的研究之后,我相信如果我下载一份GCC源代码副本(我已经下载了)和一些关于安装“符号”的东西,这是可能的 如果我下载了一份GCC源代码,以便我的C++/C应用程序使用下载的GCC代码副本,以便我可以调试/介入C代码,有人能告诉我需要做什么吗 更新:我想这就是我需要的:C++ 转移C/C++;程序是否使用GCC源代码的副本来执行函数?,c++,c,memory-management,malloc,new-operator,C++,C,Memory Management,Malloc,New Operator,我知道要进入到代码的实际操作系统副本中是非常困难的,但是在做了一些深入的研究之后,我相信如果我下载一份GCC源代码副本(我已经下载了)和一些关于安装“符号”的东西,这是可能的 如果我下载了一份GCC源代码,以便我的C++/C应用程序使用下载的GCC代码副本,以便我可以调试/介入C代码,有人能告诉我需要做什么吗 更新:我想这就是我需要的: **有一个问题,我如何完成上面链接中提到的“编译源代码”阶段?malloc不在gcc代码中,而是在libc代码中。正如ouah所说,gcc代码不相关。但也许这
**有一个问题,我如何完成上面链接中提到的“编译源代码”阶段?
malloc
不在gcc
代码中,而是在libc
代码中。正如ouah所说,gcc
代码不相关。但也许这个问题会有所帮助?内存分配函数的“实际操作系统副本”是系统调用,在Linux中称为brk()、sbrk()或mmap(),或者称为VirtualAlloc()或HeapAlloc()。malloc()/new仅作为C/C++标准库的一部分存在,如果使用gcc,它通常在glibc或Windows中,通常是msvcrt。这些系统调用的语义与MalC/Cuffic有很大的不同。OK,如果我们使用Linux,有没有办法让我可以在从C++应用程序调用时进入LIBC代码?@ RoDDy OK,所以在Linux上,我可以使用SUDO APT get安装LICB6 DGB来安装LIBC的调试符号。我还需要做什么?假设我在Eclipse中调试,有什么需要告诉Eclipse的吗?