工具/软件:TI C/C++编译器
大家好
我正在研究A15内核上的过载删除运算符,它使用 gcc-arm-none-eabi-4_7-2013q3作为编译器。下面是我使用的代码段
void运算符delete (void *PFS)
{
printf ("已删除地址:%x \n",PFS);
免费(PFS);
返回;
}
void运算符删除[](void *PFS)
{
删去运算符(PFS);
}
void deletep(const char *file, int LineNo)
{
const char *fname_detdelete;
fname_deete = print_file_name (file);
printf ("已删除内存@文件%s \t ",fname_deete);
printf ("行号%d \n ",行号);
返回;
}
#define new (__file__,__line__)
#define delete deletep(__file__,__line___),delete
在上面的代码中,它会编译,但当我执行此代码时,不会调用deletep函数。 当我在使用gcc 4.6 的Linux平台上运行相同的代码时,它会执行函数(del件deletep),然后删除运算符会因用户提供的函数而过载。 我想知道是什么导致了这种有线行为?
