用于OS内核的C ++模块化编程

时间:2015-07-23 12:23:21

标签: c++ linux module kernel

我正在从头开始开发一个操作内核。我在Linux上设置了开发环境。在使用汇编语言完成所有低级编程之后,现在我正在使用C ++。我已经在不同的模块中管理了这个任务。 我有一个问题。我将阐述我的问题的一般形式。 我在同一目录中创建了三个文件。

1) main.cpp
2) myclass.h
3) myclass.cpp



// main.cpp


        #include<iostream>
        #include"myclass.h"
        using namespace std;
        int main()
        {
            myclass a;
            return 0;
        }

  //myclass.h

#ifndef MYCLASS_H
#define MYCLASS_H

class myclass
{
public:
    myclass();

};

#endif

// myclass.cpp

#include<iostream>
#include"myclass.h"
using namespace std;
myclass :: myclass()
{

    cout<<"Constructer";
}

当我编译 main.cpp 时,它会显示:

  

/tmp/ccm50K0J.o:在函数main': main.cpp:(.text+0x10): undefined reference to中myclass :: myclass()'   collect2:错误:ld返回1退出状态

但是当我将函数定义放在头文件中时,它可以工作。 在此先感谢..............

0 个答案:

没有答案