内核模块错误:隐式声明函数

时间:2014-09-25 15:40:01

标签: linux module kernel

我正在尝试编写2个简单的内核模块:acumulator.cclient.c

acumulator.c有2个功能:void acumulate();int consult();加上init_modulecleanup_moduleacumulate函数在每次调用时将变量acumulador的值递增1,consult函数返回变量acumulador的当前值。

在模块Client.c中调用这两个函数。

Client.c只有init_module()cleanup_module,当init_module开始时,它会调用acumulate函数和consult函数这些是在acumulator.c

内实施的

当我编译文件时:acumulator.c它编译没有错误但是client.c给了我2个错误:

Implicit declaration of function acumulate()
Implicit declaration of function consult()

我不知道如何解决这个问题。

我的内核版本是2.6.38

acumulator.c的代码是:

static int acumulador = 0;

void acumulate() {
   acumulador += 1;
}

int consult() {
   return acumulador;
}

int init_module() {
    printk("\loading  module acumulator\n");
    return 0;
}

void cleanup_module() {
    printk("\unloading  modul acumulator\n");
}

并且Client.c的代码是

int init_module() 
{
    acumulate();
    printk("\loading module client:\Acumulate Value is = %d\n", consult());
    return 0;
}

void cleanup_module() 
{
    printk("\unloading modul client\n");
}

0 个答案:

没有答案