export_symbol的使用

export_symbol的使用       问题是这样的,前几天师妹需要在内核模块中使用tasklist_lock来操作保护内核进程链表,由于tasklist_lock如果要在模块中使用就必须把它填充到内核符号表里面,就要使用export_symbol,她在sched.h里面就是tasklist_lock声明的地方,添加export_symbol(tasklist_lock),在编译的时候总是出现undefinedsymb

大家好,又见面了,我是你们的朋友全栈君。        问题是这样的,前几天师妹需要在内核模块中使用tasklist_lock来操作保护内核进程链表,由于tasklist_lock如果要在模块中使用就必须把它填充到内核符号表里面,就要使用export_symbol,她在sched.h里面就是tasklist_lock声明的地方,添加export_symbol(tasklist_lock),在编译的时候总是出现undefined symbols ,在/proc/kallsyms里面也没找到tasklist_lock,说明没有export成功,当时没找到原因,后来仔细想了下,是因为export_symbol的位置错了。由于全局变量在声明的时候没有分配地址,所以在声明的时候肯定不行,后来在tasklist_lock定义的地方添加export_symbol(就是在fork.c中),问题解决,最后还是要提醒下在使用tasklist_lock,在使用的文件里面先对它进行extern声明。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160414.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 在线就能用的 SQL 练习平台我给你找好了

    在线就能用的 SQL 练习平台我给你找好了都给你找好了,只管用!

    2022年8月22日
    4
  • vue中如何关闭eslint「建议收藏」

    vue中如何关闭eslint「建议收藏」1.在目录中新建vue.config.js2.在新建文件中输入module.exports={lintOnSave:false}就可以关闭啦~

    2022年10月8日
    0
  • 大数据最佳实践-基于Spark的ETL开发

    大数据最佳实践-基于Spark的ETL开发目录数据同步RDMBStoRDMBS数据同步HivetoHive数据同步RDBMStoHive数据同步hivetordmbsHDFS数据监控数据同步filetohbase数据同步RDMBStoRDMBSpackagecom.sutpc.bigdata.syncimportjava.util.Propertiesimportorg.apache.log4j.{Level,Logger}importorg.apache.spark.sql.Spark

    2022年5月27日
    39
  • h2数据库如何连接_怎样远程连接数据库

    h2数据库如何连接_怎样远程连接数据库H2数据库支持如下3种连接模式: 内嵌模式(通过JDBC进行本地连接,应用和数据库在同一个JVM中) 服务器模式(通过JDBC或ODBC或TCP/IP进行远程连接) 混合模式(同时支持本地和远程连接)数据库连接URL说明:TopicURLFormatandExamples嵌入式(本地)连接jdb

    2022年10月11日
    0
  • MaskRCNN 何凯明_cnn应用

    MaskRCNN 何凯明_cnn应用本文介绍了MaskRcnn目标分割项目的搭建及运行过程,并对搭建过程中可能出现的问题进行了解答。环境:Cuda10.2+tensorflow-gpu1.13.2MaskR-CNN是一个实例分割算法,可以用来做“目标检测”、“目标实例分割”、“目标关键点检测”。

    2022年9月28日
    0
  • 解决ubuntu16.04中codeblocks中文显示不全的问题[通俗易懂]

    解决ubuntu16.04中codeblocks中文显示不全的问题[通俗易懂]ubuntu16.04中安装中文库、中文输入法、搜狗输入法、解决终端无法显示中文的问题、安装字体(YaheiConsolas字体)、更换漂亮绚丽flatbulous主题。codeblock设置字体为:kacstdigital或centuryschoolbookl解决中文注释显示不全的问题,修改codeblocks丑陋的运行窗口为ubuntu16.04默认的终端。

    2022年7月26日
    15

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号