jaky_shark
驱动牛犊
驱动牛犊
  • 注册日期2007-05-03
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分8分
  • 威望21点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
阅读:1657回复:1

模块EXPORT_SYMBOL()问题求教

楼主#
更多 发布于:2007-10-25 13:07
我写了两个模块(编译、加载都正常):
(1)global.ko(读写globalvar变量)
   其中定义有globalvar,并做了导出供hello模块读取用,定义如下:
   int globalvar= 0;
   EXPORT_SYMBOL(globalvar);

(2)hello.ko(读取globalvar)
   其中定义如下:
   void __init hello_init()
   {
     extern int globalvar; //声明导出的globalvar变量
     printk("var=%d\n",globalvar); //读取global模块的globalvar值
     globalvar = 89; //重新设置globalvar值供golbal模块读取
      ……
   }
      先insmod ./global.ko后,再insmod ./hello.ko    
      insmod到内核后global模块读写正常(比如往globalvar写入23,读出23),但是在hello模块中读出的globalvar的却不是23。类似的,hello模块中设置的globalvar值89在global模块中也无法正确读取。    
    我的本意是想让一个模块写入globalvar的值另一个模块可以正确的读出。望高手不吝赐教。谢谢!
jaky_shark
驱动牛犊
驱动牛犊
  • 注册日期2007-05-03
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分8分
  • 威望21点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-10-26 13:03
问题已经解决!
游客

返回顶部