为了账号安全,请及时绑定邮箱和手机立即绑定

main.c里的main函数里面会调用 file.c里的func函数,如何实现?

main.c里的main函数里面会调用 file.c里的func函数,如何实现?

C
慕妹3242003 2023-01-12 18:14:21

main函数所在的main.c文件在base文件夹里,base文件里有sub文件夹及sub2文件夹
func函数所在的file.c文件在sub文件下

目录结构:
base (文件夹)
|---------------sub (文件夹)
|---------------sub2 (文件夹)

文件包含关系:
base里有main.c
sub里有file.c

注:不用集成开发环境建工程,是在linux 下用gcc 直接编译链接的。

查看完整描述

3 回答

?
ITMISS

TA贡献1577条经验 获得超8个赞

你是说直接编译吗?VC++ 6.0 编译器:
CL Amain.c sub\file.c sub2\file2.c 
就生成 Amain.exe 了。

例如:
主文件里有 原型声明 extern void hello(char *name);  
有 调用 hello("abcd");
file.c 里有:
#include <stdio.h>
void hello(char *name)
{printf("hello %s !\n", name);}

跑 Amain.exe 就可以了。

查看完整回答
反对 回复 2023-01-15
?
慕仙森

TA贡献1589条经验 获得超7个赞

写个Makefile , 以下在msys下测过 没问题

/* base 下的 main.c */
#include <stdio.h>
#include "./sub/file.h" /* 注意 sub前面是 点和缸 */
int main()
{
printf("enter main function!\n");
hello("veket_linux");
printf("back to main!\n");
return 0;
}

/* base 下的 sub 下的 file.c */
#include <stdio.h>
extern void hello(char *name)
{
printf("this is hello function, hello %s !\n", name);
}

/* base 下的 sub 下的file.c的头文件 file.h */
extern void hello(char *);

#base 下的 Makefile
main:main.o file.o
gcc -o main main.o ./sub/file.o -I"./sub"
main.o:main.c
gcc -c main.c
file.o:./sub/file.c
cd ./sub && gcc -c file.c && cd ..

终端下 在base 目录敲make命令
make就会自动调用命令显示如下
gcc -c main.c
cd ./sub && gcc -c file.c && cd ..
gcc -o main main.o ./sub/file.o -I"./sub"


查看完整回答
反对 回复 2023-01-15
?
泛舟湖上清波郎朗

TA贡献1563条经验 获得超3个赞

在使用#include在时候将文件路径加进去就可以了

查看完整回答
反对 回复 2023-01-15

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信