[英]C - Temporary struct with memory allocation
该结构应该具有队列中每个项目的信息。
struct tx_queue_item_t {
//user input
uint8_t priority;
uint8_t attempts;
uint8_t *buff;
size_t size;
uint32_t timeout; //10ms base
//system input
uint8_t idNum;
uint8_t attemptCount;
uint32_t tickCountAtTx; //to check for receive timeout
enum tx_queue_status_t status;
};
我想知道我是否能够拥有“临时项目”(临时结构),当队列中的此类项目被视为已完成/已处理时,它们会释放自己的 memory 使用量。
有没有办法在 C 中做到这一点? malloc
? 考虑到我还想通过每个结构实例的名称访问变量的值。 而且为了让我知道用于此目的的总 memory 是多少(创建临时项目)。
问候。
没有。C 没有广泛实施的垃圾收集器。 您可以使用像boehm-gc这样的外部库,但这可能不是您想要的。
最便携的解决方案是使用malloc
并手动free
,或使用 function 创建和破坏您的结构。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.