我正在学习(尝试)如何编写自己的C / C ++头文件,以及如何从代码主体中获取函数。为此,我编写了nyanlib.h和nyan.cpp

忽略它的琐碎程序,请告诉我标题是否正确编写,或者我犯了严重错误?该代码虽然有效。

这是nyan.cpp:

#include <iostream>
#include <unistd.h>
#include "nyanlib.h"

using namespace std;
int main()
{
    while( true )
        {
            print_nyan(); //function from nyanlib
            sleep(1);
        }
return 0;
}


Here is nyanlib.h

另外,nyanlib.h是共享库还是静态库?

最佳答案

您拥有的nyanlib.h名称应重命名为nyanlib.cpp。然后,nyanlib.h将仅包含以下内容:

#ifndef NYANLIB_H
#define NYANLIB_H

void print_nyan();

#endif


然后可以将库编译为目标文件:

g++ -c nyanlib.cpp


这给您nyanlib.o。因此,现在您的主文件仅包含头文件中的print_nyan()原型,因此它知道如何调用它。

然后编译主程序:

g++ -c nyan.cpp
g++ -o nyan nyan.o nyanlib.o

08-16 00:19