如何创建C头文件

use*_*838 61 c function header-files modular

我希望能够在头文件中创建一个函数集合,我可以在我的一个C程序中#include.

Pab*_*ruz 135

  1. 打开您喜欢的文本编辑器
  2. 创建一个名为whatever.h的新文件
  3. 将您的函数原型放入其中

DONE.

示例whatever.h

#ifndef WHATEVER_H_INCLUDED
#define WHATEVER_H_INCLUDED
int f(int a);
#endif
Run Code Online (Sandbox Code Playgroud)

注意:感谢luke添加了警卫(预处理器命令).它们避免在同一编译中两次包含相同的头文件.另一种可能性(在评论中也提到)是添加#pragma once但不保证每个编译器都支持它.

示例whatever.c

#include "whatever.h"

int f(int a) { return a + 1; }
Run Code Online (Sandbox Code Playgroud)

然后,您可以将"whatever.h"包含到任何其他.c文件中,并将其与whatever.c的目标文件链接.

像这样:

sample.c文件

#include "whatever.h"

int main(int argc, char **argv)
{
    printf("%d\n", f(2)); /* prints 3 */
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

编译它(如果你使用GCC):

$ gcc -c whatever.c -o whatever.o
$ gcc -c sample.c -o sample.o
Run Code Online (Sandbox Code Playgroud)

要链接文件以创建可执行文件:

$ gcc sample.o whatever.o -o sample
Run Code Online (Sandbox Code Playgroud)

你可以测试样品:

$ ./sample
3
$
Run Code Online (Sandbox Code Playgroud)

  • 你可能想提一下头卫 (7认同)
  • @luke他们被官方称为包括警卫,但你的用语非常普遍.还有`#pragma once`,这是非标准但广泛支持的(在我看来)更简单 (2认同)