c - 如何在 flatbuffers 模式文件中声明指针类型?
问题描述
我正在学习平面缓冲区,我希望在 C 中使用它们。我想做的是为我的结构编写一个模式文件。这是我的结构之一:
typedef struct
{
unsigned short request_number;
unsigned short length;
unsigned short height;
unsigned char *buffer;
} CASH_RECEIPT_REQUEST;
如何unsigned char *buffer
在我的模式文件中写入指针?
解决方案
不要存储指针,而是存储它们指向的实际数据:
table CashReceiptRequest {
request_number:ushort;
length:ushort;
height:ushort;
buffer:[ubyte];
}
如您所见,缓冲区是“ubyte 向量”。请注意,如果length
是缓冲区的大小,则可以省略该字段,因为该大小已经存储为向量的一部分。
推荐阅读
- r - 如何将自动导入文件的名称设置为它们在 R 中的文件名?
- rust - 是否有一个宏可以用来期待枚举的变体并提取其数据?
- twig - PHP 可恢复的致命错误:方法 Timber\PostType::__toString() 必须返回字符串值
- python - python请求可能出现死锁
- flutter - Flutter-如何使用谷歌地图沿折线移动标记
- excel - Office 365 中的 VBA 用户定义函数
- javascript - 发送所选选项的简单下拉列表
- excel - 如何在vba中使用变量写入范围
- plotly-dash - 数据上传在 Dash 上的选项卡之间传输
- c - C 处理大字符串而不会使 2KB 的 RAM 过载(微控制器 ATMEGA328P)