【发布时间】:2015-10-08 16:47:18
【问题描述】:
我正在学习(尝试)如何编写自己的 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;
}
另外,nyanlib.h 是共享库还是静态库?
【问题讨论】:
-
"另外,nyanlib.h 是共享库还是静态库?"取决于编译器设置。
-
虽然可以编译和运行,但这不是 .h 和 .cpp 文件的处理方法。作为一般规则,标头应包含声明,.cpp 文件应包含实现。
-
在头文件中定义函数是不好的做法。将
print_nyan()的定义移动到您的.cpp 文件中,并将其声明保留在标题中。 -
另外,这是 C++,不是 C。
-
反对投票的理由:指向标头的外部链接是“此 C 标头是否正确编写?”的症结所在。是一个糟糕的选择。一旦 pastebin 清除或移动该文档,这个问题就完全没用了。
标签: c++ c header shared-libraries static-libraries