如何将2个.c文件彼此链接

时间:2018-10-27 17:51:41

标签: c

在下面的slists.h文件中,我定义了所有函数的原型和要在两个.c文件中使用的结构:slists.c和test.c。

/* declaring struct for a person here */
typedef struct person{
  char * name;
  int age;
  struct person * next;
}person;


// Prototypes for methods being construct in slists.c file
static person * insert_start(person * node, char *name, int age);
static person * insert_end(person * node, char *name, int age);
static person * insert_sorted(person * node, char *name, int age,
           int (*compare_people)(person * , person * ));

在slists.c文件中,我构造了函数的主体,在test.c文件中,我声明了主要功能,并使用了在slists.c文件中构造的功能。 当我使用以下命令运行程序时:

$(CC)$(CFLAGS)slists.c test.c -o test

我收到以下警告:

warning: ‘insert_end’ defined but not used [-Wunused-function]
 static person * insert_end(person * node, char *name, int age)

warning: ‘insert_sorted’ used but never defined [enabled by default]
 static person * insert_sorted(person * node, char *name, int age,

这里有两个问题。首先,如何将这两个.c文件链接在一起,所以我不会收到这些警告。其次,在.h文件中具有函数的原型和不同的结构是否是一个好主意?如果是这样,为什么?

0 个答案:

没有答案