我的源文件以:
开头#include "foo.h"
我可以使用头文件中的所有全局变量,类型和结构。在我的头文件中,我首先介绍了几个包含:
#include<file.h>
然后转到全局变量:
#define GLOBAL
然后结构:
#typedef struct boo;
然后打字。然后我去功能声明。即:
size_t foo(int*r, size_t nitems);
我错误的是我收到链接器错误&gt;
答案 0 :(得分:1)
问题可能在于你如何联系。
答案 1 :(得分:1)
头文件为源代码提供函数声明。正如您所发现的那样,足以让您的代码进行编译,但却无法将其链接起来。
要使其链接,您必须为链接器提供包含实际编译函数的文件 - 函数声明实际上是对编译器的承诺,您将执行此操作。
具体如何操作取决于您使用的工具以及编译功能的形式。
答案 2 :(得分:0)
#define
与复制/粘贴完全相同。
完成后
#define GLOBAL 5
以下代码
int GLOBAL;
GLOBAL = 13;
putchar(GLOBAL);
转换为
int 5;
5 = 13;
putchar(5);
显然无法编译。