gpt4 book ai didi

c - unix DECLARE_WAIT_QUEUE_HEAD (var) var 原型(prototype)?

转载 作者:行者123 更新时间:2023-11-30 16:04:35 26 4
gpt4 key购买 nike

我想在模块中使用 2 个队列,在其中我将指针更改为它们因此我需要使用:

//declartion
wait_queue_head_t **currentQ;
DECLARE_WAIT_QUEUE_HEAD (readWaitQ1);
DECLARE_WAIT_QUEUE_HEAD (readWaitQ2);

if(condition){
currentQ = &readWaitQ1;
}else{
currentQ = &readWaitQ2;
}

但是我使用队列得到的wake_up 和其他东西的类型不正确。即使我用谷歌搜索也找不到答案,有人可以给我所需的原型(prototype)吗?...

最佳答案

由于宏是(参见 here ):

#define DECLARE_WAIT_QUEUE_HEAD(name) \
wait_queue_head_t name = __WAIT_QUEUE_HEAD_INITIALIZER(name)

这意味着:

DECLARE_WAIT_QUEUE_HEAD (readWaitQ1);

翻译为:

wait_queue_head_t readWaitQ1 = ...;

现在使用您当前的代码:

wait_queue_head_t **currentQ;
currentQ = &readWaitQ1;

您在 currentQ 上有太多间接寻址。你应该尝试:

wait_queue_head_t *currentQ;

相反。

关于c - unix DECLARE_WAIT_QUEUE_HEAD (var) var 原型(prototype)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2888091/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com