> Rock Lee <[email protected]> writes:
>
>> Hi, all:
>>      Here is a snippet of linux-v3.4 which drives me crazy.
>> Because init_task hasn't been declared yet when init_thread_union is
>> initializing. Why is there no compiling error? Any hint would be helpful.
>>
>> union thread_union init_thread_union __init_task_data =
>>
>>       { INIT_THREAD_INFO(init_task) };
>>
>>
>>
>> /*
>>
>>    * Initial task structure.
>>
>>    *
>>
>>    * All other task structs will be allocated on slabs in fork.c
>>
>>    */
>>
>> struct task_struct init_task = INIT_TASK(init_task);
>
>
> Because init_task is declared "extern" in linux/sched.h
>
>
> Bjørn

I do something like that:

extern int b;
int a = b + 10;
int b = 20;

int main(void)
{
        return 0;
}

No doubt, compiling error.

-- 
Rock Lee

_______________________________________________
Kernelnewbies mailing list
[email protected]
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

Reply via email to