помогите понять,почему не компилируется (хочу объявить task_t а никак ((()

Модератор: Модераторы разделов

чудо
Сообщения: 11

помогите понять,почему не компилируется

Сообщение чудо »

программа:
#include <linux/sсhed.h>
int main () {
task_t p;
return 0;
}

пытаюсь скомпилировать:
[root@localhost kmem_t]# gcc -o x1 readts.c
In file included from /usr/include/linux/timex.h:186,
from /usr/include/linux/sched.h:10,
from readts.c:1:
/usr/include/linux/time.h:9: error: redefinition of `struct timespec'
/usr/include/linux/time.h:15: error: redefinition of `struct timeval'
In file included from /usr/include/linux/sched.h:11,
from readts.c:1:
/usr/include/linux/jiffies.h:16: error: parse error before "jiffies_64"
/usr/include/linux/jiffies.h:20: error: parse error before "get_jiffies_64"
In file included from /usr/include/linux/cpumask.h:8,
from /usr/include/linux/sched.h:14,
from readts.c:1:
/usr/include/linux/bitmap.h: In function `bitmap_empty':
/usr/include/linux/bitmap.h:15: error: `BITS_PER_LONG' undeclared (first use in this function)
/usr/include/linux/bitmap.h:15: error: (Each undeclared identifier is reported only once
/usr/include/linux/bitmap.h:15: error: for each function it appears in.)
/usr/include/linux/bitmap.h: In function `bitmap_full':
/usr/include/linux/bitmap.h:29: error: `BITS_PER_LONG' undeclared (first use in this function)
/usr/include/linux/bitmap.h: In function `bitmap_equal':
/usr/include/linux/bitmap.h:44: error: `BITS_PER_LONG' undeclared (first use in this function)
/usr/include/linux/bitmap.h: In function `bitmap_shift_right':
/usr/include/linux/bitmap.h:85: error: `__shr_tmp' undeclared (first use in this function)
/usr/include/linux/bitmap.h: In function `bitmap_shift_left':
/usr/include/linux/bitmap.h:98: error: `__shl_tmp' undeclared (first use in this function)
/usr/include/linux/bitmap.h: In function `bitmap_weight':
/usr/include/linux/bitmap.h:144: error: `BITS_PER_LONG' undeclared (first use in this function)
In file included from /usr/include/linux/sched.h:14,
from readts.c:1:
/usr/include/linux/cpumask.h:10:5: missing binary operator before token "("
/usr/include/linux/cpumask.h:34:5: missing binary operator before token "("
In file included from /usr/include/linux/sched.h:20,
from readts.c:1:
/usr/include/asm/mmu.h: At top level:
/usr/include/asm/mmu.h:13: error: field `sem' has incomplete type
In file included from /usr/include/linux/signal.h:4,
from /usr/include/linux/sched.h:24,
from readts.c:1:
/usr/include/linux/list.h:591:2: warning: #warning "don't include kernel headers in userspace"
In file included from /usr/include/linux/signal.h:6,
from /usr/include/linux/sched.h:24,
from readts.c:1:
/usr/include/asm/signal.h:29: error: conflicting types for `sigset_t'
/usr/include/sys/select.h:38: error: previous declaration of `sigset_t'
In file included from /usr/include/asm/siginfo.h:4,
from /usr/include/linux/signal.h:7,
from /usr/include/linux/sched.h:24,
from readts.c:1:
/usr/include/asm-generic/siginfo.h:70: error: parse error before "clock_t"
/usr/include/asm-generic/siginfo.h:87: error: parse error before '}' token
/usr/include/asm-generic/siginfo.h:88: error: parse error before '}' token
In file included from /usr/include/linux/sched.h:28,
from readts.c:1:
/usr/include/linux/completion.h:15: error: parse error before "wait_queue_head_t"
/usr/include/linux/completion.h: In function `init_completion':
/usr/include/linux/completion.h:26: error: dereferencing pointer to incomplete type
/usr/include/linux/completion.h:27: error: dereferencing pointer to incomplete type
In file included from /usr/include/linux/sched.h:29,
from readts.c:1:
/usr/include/linux/pid.h: At top level:
/usr/include/linux/pid.h:18: error: field `task_list' has incomplete type
/usr/include/linux/pid.h:19: error: field `hash_chain' has incomplete type
/usr/include/linux/pid.h:24: error: field `pid_chain' has incomplete type
In file included from /usr/include/linux/sched.h:30,
from readts.c:1:
/usr/include/linux/percpu.h: In function `__alloc_percpu':
/usr/include/linux/percpu.h:46: error: `GFP_KERNEL' undeclared (first use in this function)
In file included from /usr/include/linux/sched.h:101,
from readts.c:1:
/usr/include/linux/timer.h: At top level:
/usr/include/linux/timer.h:10: error: field `entry' has incomplete type
readts.c: In function `main':
readts.c:3: error: `task_t' undeclared (first use in this function)
readts.c:3: error: parse error before "p"


Вот такие пироги((( что я не так делаю?
Спасибо сказали:
Аватара пользователя
BlackStar
Сообщения: 1338
Статус: We are all Kosh
ОС: Fedora 10

Re: помогите понять,почему не компилируется

Сообщение BlackStar »

C чего вы взяли что структура tast_t определена в <linux/shed.h> ?
LightLang Team
Спасибо сказали:
чудо
Сообщения: 11

Re: помогите понять,почему не компилируется

Сообщение чудо »

а где она определена? извени,можт опечатки,но sched.h
ну впринципе даже не так интересна task_t,как task_struct а она именно там определена
Спасибо сказали:
Аватара пользователя
Red User
Сообщения: 229
ОС: Debian

Re: помогите понять,почему не компилируется

Сообщение Red User »

чудо
А что мешает написать task_struct p ?
А ведь когда-то не боялись мы программы любой,
И с одним лишь debug'ом выходили на бой,
И искусно написанный вирус встречали как брата
Спасибо сказали:
BaBL
Сообщения: 767
ОС: Debian GNU/Linux SID

Re: помогите понять,почему не компилируется

Сообщение BaBL »

Red User писал(а): ↑
17.01.2007 00:18
чудо
А что мешает написать task_struct p ?

По-видимому пример из LinuxFormat и Ogre3D =)
Спасибо сказали: