C语言中怎么调用外部函数?

2024-11-02 18:28:25
推荐回答(5个)
回答(1):

1、外部函数extern时声明这个函数为外部函数,本文件不做定义,只调用,编译不会出错,但不能运行(没有函数实体)。如果想有运行结果就必须将函数实体包含进来,所以文件包含和extern是配合使用的。文件包含只需要包含.h就是实体的头文件,但有些软件貌似不能识别头文件和c的关系,所以就只能包含.c文件。
2、也就是说外部函数extern只是个声明,他告诉编译器我用到了一个外部函数,但如果该文件没有将函数实体包含进来,编译器是找不到的,依然是不能运行的,所以extern只是个声明,并没有做任何事,只是这样是没用的。include是包含一个文件,就是类似于该文件复制到此处(只是说类似,其实是个查找路径,让编译器去该路径查找函数)。

回答(2):

1中是可以调用2的,但是在链接的时候要把2生成的.o文件加进去

生成可执行文件有几步,你需要取了解一下编译和链接的过程,不需要太深入,但是会对你很有帮助。最好不要用现成的IDE去做练习,现实的环境中很多都是使用MAKEFILE去组织编译的,这也有助于更加全面的了解整个系统

回答(3):

还需要2.h 函数声明void enter(char str[ ]);

1.c 中#include “2.h”

回答(4):

函数分为库函数和自定义函数,在调用库函数时只要标明头文件(所谓头文件就是一个东西,里面包括了一些函数各声明之类的,当你要调用它中的函数时就就得先向程序说明你要调用这个文件里的函数,否则有有侵权行为哦)可以在主调函数中调用这个头文件里的所有函数了,例如头文件为#include你就可以在主调函数中调用这个头文件里的函数:
main
{ printf("haha");/*这时main函数为主调函数,printf为被调函数*/
}
调用自定义函数时其实和调用库函数一样的,只不过这个函数是你自己定义的,再如:
main
{ void f();/*声明 f()函数*/
f(); /*调用f()函数*/
}
f()
{
printf("haha");/*f()函数调用库函数*/
}

回答(5):

你用的什么开发工具?2个文件是否都加入到项目中,一起编译连接的?错误信息是什么?