Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
#包括其他C程序_C_Include - Fatal编程技术网

#包括其他C程序

#包括其他C程序,c,include,C,Include,我需要将文件_1.c包含到main.c中。在文件_1.c中,我目前有多个函数。如果我想在main.c中调用这些函数,我需要做什么?我的主程序中包含了“file#u 1.c”。你认为为什么需要这样做 通常,您会将文件_1.c中的函数声明添加到文件_1.h中,并将其包含在main.c中 链接程序时,只需在命令行中同时包含main.c和file_1.c(其中包含函数的定义)。使用标准方法制作头文件 #包括“file_1.h” 您必须将此“file_1.c”与main.c一起编译,并生成一个可执行文件

我需要将文件_1.c包含到main.c中。在文件_1.c中,我目前有多个函数。如果我想在main.c中调用这些函数,我需要做什么?我的主程序中包含了“file#u 1.c”。

你认为为什么需要这样做

通常,您会将文件_1.c中的函数声明添加到文件_1.h中,并将其包含在main.c中


链接程序时,只需在命令行中同时包含main.c和file_1.c(其中包含函数的定义)。

使用标准方法制作头文件

#包括“file_1.h”

您必须将此
“file_1.c”
main.c
一起编译,并生成一个可执行文件 因为在运行时需要函数调用

试试这个:

创建头文件
文件_1.h

#ifndef _FILE_H
#define _FILE_H

void foo(int );
#endif
给出函数和结构定义(如果有)或任何全局变量的所有声明

然后在
文件_1.c
中将包含函数的实际定义

//file_1.c

    #include "file_1.h"
    #include <stdio.h>
    void foo(int x)
    {
      printf("%d\t",x);
    }

//main.c
    #include "file_1.h"

    int main()
    {
    int x=10;
    foo(x);
    return 0;
    }
//文件\u 1.c
#包括“文件_1.h”
#包括
void foo(int x)
{
printf(“%d\t”,x);
}
//main.c
#包括“文件_1.h”
int main()
{
int x=10;
foo(x);
返回0;
}
c
文件中(
main.c
file\u 1.c
)都包含头文件
file\u 1.h

在合同通用条款中


gcc-Wall main.c文件\u 1.c-o myexe.out

“我需要将文件\u 1.c包含到main.c中”不,您不需要。这就是为什么。我在用Ubuntu。我只是觉得我不完全明白这件事的来龙去脉。基本上,我希望在我的主程序中调用另一个C程序中的函数。@我怀疑你读过一本关于C编程的书吗?我知道include的用途。我正在学习C语言,我需要在我的主程序中包含其他函数,以便能够将所有内容合并在一起。@我怀疑,你在学习C语言方面正处于一个重要的阶段。如果你选择使用#include a.C文件,你将倒退大约3年。不要这样做!!使用链接器访问另一个翻译单元中的函数。你可以,你只是不想。我可以问一下“_FILE_H”是什么意思吗?它只是一个预处理保护程序,用于定义一些名称,以便在最终的exe中只包含一个头,意思是如果没有定义名称,那么定义一个并包含所有内容,否则这个守卫会检查,如果已经定义,那么就不会再包含它谢谢你花时间向我解释这些琐碎的东西,而不是问我是否读过一本C语言书。这非常有用。@iHubble:你也可以给任何你想要的名字。。但有意义的名字是可取的