当前位置:  技术问答>linux和unix

current宏的使用

    来源: 互联网  发布时间:2016-11-10

    本文导语:  int main(void) {     struct task_struct *task;     struct list_head *list;     list_for_each(list, ¤t->children)     {         task = list_entry(list, struct task_struct, sibling);     }     return 0; } Linux内核设计与实现上有上面这...


int main(void)
{
    struct task_struct *task;
    struct list_head *list;

    list_for_each(list, ¤t->children)
    {
        task = list_entry(list, struct task_struct, sibling);
    }

    return 0;
}

Linux内核设计与实现上有上面这段程序,用于获得一个进程的所有子进程。
然后这段程序并没有加头文件,从其它资料得知current宏被包涵在中,但是编译时报错:

fatal error: asm/current.h: No such file or directory

我用的Linux是Linux ubuntu 2.6.35,在/usr/include/asm/文件夹下确实没发现此头文件,而在2.6.22.6源码中却有此头文件。此问题困扰我很久,从网上也没有查到能解决此问题的方法。请朋友们帮忙,谢谢!

|
这个肯定是可以用的,只要你有头文件和库文件,就是可以的。你的这个例子在2.6.22.6是可以运行的,在你的OS不能用,仅仅是因为缺少头文件。内核和应用只是一个层次上的划分而已

|
内核代码跟应用层的代码是有分别的。current应该是属于内核的东西,因此不能用于应用层的程序中。
——一个明显的区别,它们所包含的头文件是不同的。/usr/include下面的头文件是我们常见程序的头文件,而内核有自己的头文件。

|
是要解决这个编译问题么?是的话,只要copy出那个current的宏代码到你的当前系统即可,
#define current     get_current() 
另外这个文件肯定有对相应头文件的引用,不然那些函数和数据结构定义哪里去找。而且你编译时报的错误应该是这个文件包含了对asm/current.h的引用,但是当前系统又没有才报的错

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.text类stringcharacteriterator的类成员方法: current定义及介绍
  • minix filesystem v1.0 中current->root, current->pwd两个指针指向的值是在什么时候得到值的?
  • java命名空间java.text接口characteriterator的类成员方法: current定义及介绍
  • current宏
  • java命名空间javax.swing.text类elementiterator的类成员方法: current定义及介绍
  • 内容管理系统 Current CMS
  • java命名空间javax.swing.text.html.parser接口dtdconstants的类成员方法: current定义及介绍
  • 求助—CPUs currently和CPUs configured什么意思?
  • java命名空间javax.swing.text类segment的类成员方法: current定义及介绍
  • current宏为什么把后13位屏蔽就得到当前任务结构所在的地址
  • java命名空间java.sql接口statement的类成员方法: keep_current_result定义及介绍
  • How can I get current system datetime?
  • java命名空间java.sql接口statement的类成员方法: close_current_result定义及介绍
  • shell参数问题 if [ x$current == x$required ]; 中参数前的x是什么意思
  • java命名空间java.text类breakiterator的类成员方法: current定义及介绍
  • 有关linux gdb 调试问题! 高手帮忙 No symbol "*" in current context
  • 大侠救命 ! together5。02不能用! “language java is not supported by the current licence”
  • zhcon-0.2.3安装好后,执行zhcon命令出错:/dev/pts/0 is not real tty or vc. Please exit current tty and try again.
  • MYSQL安装时解决要输入current root password的解决方法
  • Oracle10g中的current_scn是怎样计算的
  • 哪位解释一下这句话constructor code executes from the current class up the hierarchy to the ancestor class


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3