Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MSVC中重写free时发生链接器错误_C_Visual C++_Linker_Overriding_Free - Fatal编程技术网

在MSVC中重写free时发生链接器错误

在MSVC中重写free时发生链接器错误,c,visual-c++,linker,overriding,free,C,Visual C++,Linker,Overriding,Free,我正在用VS2013构建一个DLL,我试图覆盖一些函数,如malloc,calloc,realloc和free。 除了免费的,MSVC向我抛出以下错误: Override.obj中已定义错误LNK2005 _free 请注意,我正在静态链接到运行库,并且我在链接器命令行中添加了“/nodefaultlib:libcmt.lib/nodefaultlib:libcmtd.lib/nodefaultlib:libc.lib” 下面是我如何重写这些函数的: extern "C" { void *ma

我正在用VS2013构建一个DLL,我试图覆盖一些函数,如
malloc
calloc
realloc
free
。 除了免费的,MSVC向我抛出以下错误: Override.obj中已定义错误LNK2005 _free

请注意,我正在静态链接到运行库,并且我在链接器命令行中添加了“/nodefaultlib:libcmt.lib/nodefaultlib:libcmtd.lib/nodefaultlib:libc.lib”

下面是我如何重写这些函数的:

extern "C" {

void *malloc( size_t Size )
{
    return g_pCustomAlloc->Alloc( Size );
}

void *calloc( size_t Elements, size_t ElementSize )
{
return g_pCustomAlloc->CAlloc( Elements, ElementSize );
}

void *realloc( void *Ptr, size_t NewSize )
{
    return g_pCustomAlloc->Realloc( Ptr, NewSize );
}

void free( void *Ptr )
{
    g_pCustomAlloc->Free( Ptr );
}

} // extern "C"

代码中的g_pCustomAlloc是什么?@ShivarajBhat它是指向内存分配类的指针