file1.c 头文件为file1.h
C语言可以在程序中调用其他文件中的函数.
在大型的程序软件开发中,为了代码的可读性,或多人同时进行代码开发,可以各写自己的源文件,然后,在编译时,将多个源文件链接到一起,就可以形成最终的目标程序.
各程序中的函数可以是共用的,参考代码如下:
//a.c
#include stdio.h
int funa( int n )
{
printf("n=%d\n", n );
}
//main.c
extern int funa(int); //声明funa为外部函数
void main()
y=funa(x);
printf("y=%d\n", y );
在linux下,编译方法为:gcc main.c a.c -o test
在windows下,可建立一个工程,将两个文件添加到该工程中,编译,运行即可
不能,C语言中的static函数,内部函数和外部函数,函数一旦定义后就可被其它函数调用.
当一个源程序由多个源文件组成时,在一个源文件中定义的函数能否被其它源文件中的函数调用,C语言又把函数分为两类.
如果在一个源文件中定义的函数只能被本文件中的函数调用,而不能被同一源程序其它文件中的函数调用,
这种函数称为内部函数.
内部函数也称为静态函数,但此处静态static
的含义已不是指存储方式,而是指对函数的调用范围只局限于本文件.
外部函数在整个源程序中都有效,其定义的一般形式为extern
类型说明符
函数名形参表.
C语言中static函数,只能被本文件中的函数所使用,别的c文件中不能访问这个函数,而且你可以在别的文件中定义与之同名的函数,不会互相干扰.
从描述来看是可以的.你的函数有没有用static修饰?或者把编译的错误提示拿出来看看.
当然可以啦.
举个例子吧:两个文件 main.c function.c
我们在function.c 中写一个函数 func();
与此同时,我们需要写一个.h文件来声明这个函数,即function.h
// 以下是function.h 的内容
#ifndef __FUNCTION_H__
#define __FUNCTION_H__
void func();
#endif
// 以下是function.c 的内容
#include "function.h"
void func()
// do something
这样一来,我们想要在另外一个文件,也就是main.c 中调用这个函数的时候,只需要包含它对应的头文件,就可以直接调用了.
// 以下是main.c 的内容
#include "stdio.h"
int main()
func();
return 0;
调用函数库的话用#include?XXX.h或者#include"XXX.h"区别是你库文件放在同一个文件夹还是在IDE的安装目录下面,如果你库文件在你工程文件夹里面用#includeXXX.h,否则用#include?"XXX.h"
如果你说自己写库的话是需要两个宏命令,#ifndef?_XXX_H?#define?_XXX_H,然后你函数名用extern表示
这个CALL的话就是调用函数的功能
以上就是土嘎嘎小编为大家整理的c语言跨文件调用函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!