我正在学习(尝试)如何编写自己的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