C:在Driver程序中链接不同的C文件?

时间:2017-09-30 15:00:05

标签: c header linker

好吧,我正在制作一个程序,可以实现各种形式的数据结构,即链表队列堆栈。并为每个创建单独的文件,现在我想在单个驱动程序中使用每个单独的文件。 我把文件链接为:

#include"filename.c"

但是错误显示没有这样的文件或目录。是的,我需要实现以使用驱动程序中包含的文件的函数

1 个答案:

答案 0 :(得分:-1)

您不包含.c个文件,而是.h个文件。

假设您有包含main.c文件和datastructs.c文件的文件夹,请创建一个包含所有函数声明的datastructs.h文件。

datastructs.c

#include <stdio.h>

#include "datastructs.h"

void hello() {
    printf("hello, world!\n");
}

datastructs.h

void hello();

现在,在main.c - 包含main函数的C文件中 - 包含datastructs.h文件并调用所需的所有函数:

#include "datastructs.h"

void main() {
    hello();
}

确保编译您正在使用的每个来源,它将确保正确链接所有内容:

gcc datastructs.c main.c -o main

这是一种非常基本的方法,有更多的方法 - 可能甚至比这更好 - 但它会完成工作。

请务必查看Makefilemake的工作原理,这样您就可以更好地处理此类任务。