我认为这是一个微不足道的问题,但我永远无法让它发挥作用!
我通过 .lib 内的函数指针进行了函数调用,并将 .lib 附加到在库外部设置函数指针的应用程序。以下是代码片段
库:
void (*PopulateBuffer)(byte *NALBuffer,unsigned int *readbytes); // The Declaration
PopulateBuffer(NALBuffer,&readbytes); // The function Call
应用 :
extern void (*PopulateBuffer)(char *NALBuffer,unsigned int *readbytes);
void UpdateNALBuff(char *Buffer,unsigned int *readbytes)
{
//Buffer content is updated
//readbytes is updated
}
main()
{
PopulateBuffer= &UpdateNALBuff;
LibMain(); // this is the main call in which the function pointer is called
}
我这样做对吗???因为当函数调用在库中接近时,它会抛出以下错误:
DecoderTestApp.exe 中 0x00536e88 处的未处理异常:0xC0000005:访问冲突读取位置 0x7ffef045。