gpt4 book ai didi

Container_of() 未编译

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:02:01 25 4
gpt4 key购买 nike

List.h 定义了一个名为 list_entry 的宏,它是 container_of() 函数的包装器。一个优雅的函数,看起来很精致:

考虑这段代码:

tmp = list_entry(pos,(struct Order),ord_Queue);

当我使用 gcc 编译它时,不断弹出预期表达式的错误。

我的结构定义为:

struct Order
{
double idNum;
char* entryTime;
char* eventTime;
struct list_head ord_Queue;
};

当 Arg2 和 Arg3 中使用了多余的括号时,container_of 似乎存在问题,并且应该只为 Arg1 提供一个括号 here .我已经尝试过了,但它不起作用。

一些帮助将不胜感激。

最佳答案

可能是list.h从内核拷贝的时候出错了? (假设你在这里做一个用户空间程序。)因为你的示例代码(多一点剥离)确实编译了一个已知良好的实现。

#include <libHX/list.h>
struct order {
struct HXlist_head ord_queue;
};
int main(void) {
struct HXlist_head *pos;
struct order *o = HXlist_entry(pos, struct order, ord_queue);
}

关于Container_of() 未编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4989491/

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