【发布时间】:2016-02-18 09:32:07
【问题描述】:
我正在尝试编写一个程序,将信息从内核空间传递到 ububtu 14.04 上的用户空间。我声明了一个struct,如下:
typedef struct
{
long pid;
char TTY[64];
unsigned long long time;
char COMM[64]
} myTasks;
然后,我在 main 中创建一个 myTasks 结构数组,例如:
struct myTasks taskInfo[2500];
//do stuff
syscall(__NR_my_syscall2,numTasks,sizeof(taskInfo),taskInfo); // use it here
但是,当我这样做时,我在这一行收到一条错误消息:
struct myTasks taskInfo[2500] 错误:数组类型的元素不完整
我做错了什么?我想创建一个 myTasks 结构数组,我可以将其作为缓冲区传递给系统调用......但我不知道我做错了什么。我是C 的新手,因此我们将不胜感激。
【问题讨论】:
-
您确定该系统调用吗?您不是在某处缺少右括号吗?
-
@JoachimPileborg 谢谢!但是,幸好我只是在这里输入了一个错误:)
标签: c arrays struct ubuntu-14.04 system-calls