在 GigE SDK C++ 中,规范注释 GetDataPointer() 的定义如下:
PvUInt8 * PvBuffer::GetDataPointer ( )
Get the buffer's data pointer.
Const version.
Returns:
A pointer to the memory pointer.
我在我的程序中使用了这个函数(请参见最后一行):
PvBuffer * lBuffer = new PvBuffer();
// Create the Data (buffers are created as images, GetImage() is valid on a fresh buffer)
lBuffer->GetImage()->Alloc( 1224, 1029, PvPixelMono8 );
PvUInt8 *lDataBuffer = lBuffer->GetDataPointer(); //use in actual code
问题是关于 PvUInt8;查看定义,这是缓冲区中数据的类型还是指针的类型,它总是可以是 4 字节(在 32 位机器上)或 8 字节(在 64 位机器上)。