gpt4 book ai didi

创建多个文件并用 C 链接它们

转载 作者:行者123 更新时间:2023-11-30 19:14:55 25 4
gpt4 key购买 nike

我正在使用 C 和 Linux cc 编译器。我想要做的是创建一个包含 main 函数的 main.c 文件。我还想创建一个没有 main 函数的 Special.c 文件,而是只有我想在需要时在 main.c 中调用的特殊函数。

我对Java有更多的练习,例如在 Java 中,我只需创建两个类并使用继承来实现此目的。

但是由于我是 C 语言新手,我不知道该怎么做。我知道可能有一种方法可以将 .h 文件与库一起使用,但我不确定如何在这里进行操作。

非常感谢任何帮助。

最佳答案

假设special.c看起来像这样:

#include <stdio.h>

void special_func()
{
printf("calling special_func\n");
}

然后您可以自行编译该文件:

gcc -c special.c

这会生成special.o。然后假设你有 main.c:

#include <stdio.h>
#include "special.h"

int main()
{
printf("in main\n");
special_func();
return 0;
}

您的main函数调用special_func,但它没有在此文件中定义,因此它需要知道如何调用它。这就是special.h 的内容出现的地方:

#ifndef SPECIAL_H
#define SPECIAL_H

void special_func();

#endif

这是一个函数原型(prototype)。它声明了函数(即告诉您参数的数量和类型以及返回类型),但没有实际定义它。这允许从其他编译单元调用它。

现在你可以自己编译main.c了:

gcc -c main.c

这将创建 main.o。现在您可以将它们链接在一起:

gcc -o program main.o special.o

关于创建多个文件并用 C 链接它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33416241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com